mqt-core 3.2.1__tar.gz → 3.3.1__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.2.1 → mqt_core-3.3.1}/.clang-tidy +1 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/.license-tools-config.json +3 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/.pre-commit-config.yaml +14 -14
- {mqt_core-3.2.1 → mqt_core-3.3.1}/.readthedocs.yaml +8 -7
- {mqt_core-3.2.1 → mqt_core-3.3.1}/CHANGELOG.md +104 -5
- {mqt_core-3.2.1 → mqt_core-3.3.1}/CMakeLists.txt +23 -5
- {mqt_core-3.2.1 → mqt_core-3.3.1}/PKG-INFO +74 -33
- {mqt_core-3.2.1 → mqt_core-3.3.1}/README.md +70 -30
- {mqt_core-3.2.1 → mqt_core-3.3.1}/UPGRADING.md +34 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/CMakeLists.txt +6 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/dd/CMakeLists.txt +1 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/dd/register_dd_package.cpp +4 -6
- mqt_core-3.3.1/bindings/fomac/CMakeLists.txt +26 -0
- mqt_core-3.3.1/bindings/fomac/fomac.cpp +134 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/CMakeLists.txt +1 -1
- mqt_core-3.3.1/bindings/ir/operations/register_if_else_operation.cpp +116 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/operations/register_operation.cpp +1 -2
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/operations/register_optype.cpp +1 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/register_operations.cpp +2 -2
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/register_quantum_computation.cpp +63 -31
- mqt_core-3.3.1/bindings/na/CMakeLists.txt +18 -0
- mqt_core-3.3.1/bindings/na/fomac/CMakeLists.txt +26 -0
- mqt_core-3.3.1/bindings/na/fomac/fomac.cpp +112 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/AddMQTCoreLibrary.cmake +13 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/AddMQTPythonBinding.cmake +3 -0
- mqt_core-3.3.1/cmake/Cache.cmake +33 -0
- mqt_core-3.3.1/cmake/CleanMLIRDocs.cmake +27 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/ExternalDependencies.cmake +49 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/PackageAddTest.cmake +6 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/SetupMLIR.cmake +3 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/StandardProjectSettings.cmake +1 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/mqt-core-config.cmake.in +3 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/circuit_optimizer/CircuitOptimizer.hpp +13 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/CachedEdge.hpp +7 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/Operations.hpp +12 -14
- mqt_core-3.3.1/include/mqt-core/fomac/FoMaC.hpp +568 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/QuantumComputation.hpp +29 -28
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/operations/CompoundOperation.hpp +2 -0
- mqt_core-3.3.1/include/mqt-core/ir/operations/IfElseOperation.hpp +169 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/operations/OpType.hpp +3 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/operations/OpType.inc +2 -2
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/operations/Operation.hpp +3 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/operations/StandardOperation.hpp +2 -0
- mqt_core-3.3.1/include/mqt-core/na/device/Device.hpp +410 -0
- mqt_core-3.3.1/include/mqt-core/na/device/Generator.hpp +447 -0
- mqt_core-3.3.1/include/mqt-core/na/fomac/Device.hpp +169 -0
- mqt_core-3.3.1/include/mqt-core/qdmi/Driver.hpp +431 -0
- mqt_core-3.3.1/include/mqt-core/qir/runtime/QIR.h +174 -0
- mqt_core-3.3.1/include/mqt-core/qir/runtime/Runtime.hpp +360 -0
- mqt_core-3.3.1/json/na/device.json +148 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/CMakeLists.txt +4 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Conversion/CMakeLists.txt +4 -2
- mqt_core-3.3.1/mlir/include/mlir/Conversion/MQTOptToMQTRef/CMakeLists.txt +13 -0
- mqt_core-3.2.1/mlir/include/mlir/Conversion/MQTDynToMQTOpt/MQTDynToMQTOpt.h → mqt_core-3.3.1/mlir/include/mlir/Conversion/MQTOptToMQTRef/MQTOptToMQTRef.h +2 -2
- mqt_core-3.2.1/mlir/include/mlir/Conversion/MQTOptToMQTDyn/MQTOptToMQTDyn.td → mqt_core-3.3.1/mlir/include/mlir/Conversion/MQTOptToMQTRef/MQTOptToMQTRef.td +8 -7
- {mqt_core-3.2.1/mlir/include/mlir/Conversion/MQTDynToMQTOpt → mqt_core-3.3.1/mlir/include/mlir/Conversion/MQTRefToMQTOpt}/CMakeLists.txt +4 -4
- mqt_core-3.2.1/mlir/include/mlir/Conversion/MQTOptToMQTDyn/MQTOptToMQTDyn.h → mqt_core-3.3.1/mlir/include/mlir/Conversion/MQTRefToMQTOpt/MQTRefToMQTOpt.h +2 -2
- mqt_core-3.2.1/mlir/include/mlir/Conversion/MQTDynToMQTOpt/MQTDynToMQTOpt.td → mqt_core-3.3.1/mlir/include/mlir/Conversion/MQTRefToMQTOpt/MQTRefToMQTOpt.td +7 -6
- mqt_core-3.3.1/mlir/include/mlir/Conversion/MQTRefToQIR/CMakeLists.txt +13 -0
- mqt_core-3.3.1/mlir/include/mlir/Conversion/MQTRefToQIR/MQTRefToQIR.h +23 -0
- mqt_core-3.3.1/mlir/include/mlir/Conversion/MQTRefToQIR/MQTRefToQIR.td +66 -0
- mqt_core-3.3.1/mlir/include/mlir/Conversion/QIRToMQTRef/CMakeLists.txt +13 -0
- mqt_core-3.3.1/mlir/include/mlir/Conversion/QIRToMQTRef/QIRToMQTRef.h +23 -0
- mqt_core-3.3.1/mlir/include/mlir/Conversion/QIRToMQTRef/QIRToMQTRef.td +51 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Dialect/CMakeLists.txt +1 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Dialect/Common/IR/CommonTraits.h +1 -19
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Dialect/Common/IR/CommonTraits.td +0 -4
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Dialect/Common/IR/StdOps.td.inc +11 -9
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Dialect/MQTOpt/IR/CMakeLists.txt +3 -2
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Dialect/MQTOpt/IR/MQTOptDialect.h +24 -3
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Dialect/MQTOpt/IR/MQTOptInterfaces.td +18 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Dialect/MQTOpt/IR/MQTOptOps.td +73 -95
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Dialect/MQTOpt/Transforms/CMakeLists.txt +1 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/Dialect/MQTOpt/Transforms/Passes.h +6 -1
- mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTOpt/Transforms/Passes.td +122 -0
- mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTOpt/Transforms/Transpilation/Architecture.h +93 -0
- mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTOpt/Transforms/Transpilation/Common.h +39 -0
- mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTOpt/Transforms/Transpilation/Layout.h +144 -0
- mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTOpt/Transforms/Transpilation/Stack.h +87 -0
- {mqt_core-3.2.1/mlir/include/mlir/Dialect/MQTOpt → mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTRef}/CMakeLists.txt +0 -1
- mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTRef/IR/CMakeLists.txt +17 -0
- mqt_core-3.2.1/mlir/include/mlir/Dialect/MQTDyn/IR/MQTDynDialect.h → mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTRef/IR/MQTRefDialect.h +29 -5
- mqt_core-3.2.1/mlir/include/mlir/Dialect/MQTDyn/IR/MQTDynInterfaces.td → mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTRef/IR/MQTRefInterfaces.td +23 -5
- mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTRef/IR/MQTRefOps.td +200 -0
- mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTRef/Translation/ImportQuantumComputation.h +22 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/tools/quantum-opt/CMakeLists.txt +4 -3
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/tools/quantum-opt/quantum-opt.cpp +20 -8
- mqt_core-3.3.1/mlir/unittests/CMakeLists.txt +9 -0
- mqt_core-3.3.1/mlir/unittests/translation/CMakeLists.txt +21 -0
- mqt_core-3.3.1/mlir/unittests/translation/test_translation.cpp +1010 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/noxfile.py +30 -18
- {mqt_core-3.2.1 → mqt_core-3.3.1}/pyproject.toml +28 -31
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/_commands.py +2 -2
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/_version.py +16 -3
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/dd.pyi +5 -7
- mqt_core-3.3.1/python/mqt/core/fomac.pyi +125 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/ir/__init__.pyi +83 -45
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/ir/operations.pyi +40 -27
- mqt_core-3.3.1/python/mqt/core/na/__init__.py +12 -0
- mqt_core-3.3.1/python/mqt/core/na/fomac.pyi +117 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/plugins/qiskit/mqt_to_qiskit.py +75 -11
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/plugins/qiskit/qiskit_to_mqt.py +108 -5
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/CMakeLists.txt +9 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/algorithms/CMakeLists.txt +1 -8
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/algorithms/QFT.cpp +4 -4
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/algorithms/QPE.cpp +3 -3
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/circuit_optimizer/CMakeLists.txt +1 -11
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/circuit_optimizer/CircuitOptimizer.cpp +355 -64
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/datastructures/CMakeLists.txt +1 -11
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/CMakeLists.txt +1 -11
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/GateMatrixDefinitions.cpp +14 -13
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/Operations.cpp +19 -13
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/Simulation.cpp +6 -9
- mqt_core-3.3.1/src/fomac/CMakeLists.txt +32 -0
- mqt_core-3.3.1/src/fomac/FoMaC.cpp +423 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/CMakeLists.txt +0 -13
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/QuantumComputation.cpp +66 -48
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/operations/CompoundOperation.cpp +5 -0
- mqt_core-3.3.1/src/ir/operations/IfElseOperation.cpp +317 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/operations/OpType.cpp +3 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/operations/Operation.cpp +4 -17
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/operations/StandardOperation.cpp +23 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/na/CMakeLists.txt +9 -13
- mqt_core-3.3.1/src/na/device/App.cpp +447 -0
- mqt_core-3.3.1/src/na/device/CMakeLists.txt +206 -0
- mqt_core-3.3.1/src/na/device/Device.cpp +726 -0
- mqt_core-3.3.1/src/na/device/DynDevice.cpp +155 -0
- mqt_core-3.3.1/src/na/device/Generator.cpp +511 -0
- mqt_core-3.3.1/src/na/fomac/CMakeLists.txt +35 -0
- mqt_core-3.3.1/src/na/fomac/Device.cpp +562 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/qasm3/CMakeLists.txt +1 -11
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/qasm3/Importer.cpp +23 -28
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/qasm3/Scanner.cpp +21 -10
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/qasm3/Statement.cpp +1 -1
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/qasm3/Token.cpp +2 -6
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/qasm3/passes/ConstEvalPass.cpp +1 -2
- mqt_core-3.3.1/src/qdmi/CMakeLists.txt +32 -0
- mqt_core-3.3.1/src/qdmi/Driver.cpp +503 -0
- mqt_core-3.3.1/src/qir/CMakeLists.txt +13 -0
- mqt_core-3.3.1/src/qir/runner/CMakeLists.txt +36 -0
- mqt_core-3.3.1/src/qir/runner/Runner.cpp +414 -0
- mqt_core-3.3.1/src/qir/runtime/CMakeLists.txt +25 -0
- mqt_core-3.3.1/src/qir/runtime/QIR.cpp +381 -0
- mqt_core-3.3.1/src/qir/runtime/Runtime.cpp +165 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/zx/CMakeLists.txt +1 -11
- mqt_core-3.3.1/uv.lock +3306 -0
- mqt_core-3.2.1/bindings/ir/operations/register_classic_controlled_operation.cpp +0 -95
- mqt_core-3.2.1/cmake/Cache.cmake +0 -32
- mqt_core-3.2.1/include/mqt-core/ir/operations/ClassicControlledOperation.hpp +0 -156
- mqt_core-3.2.1/mlir/include/mlir/Conversion/MQTOptToMQTDyn/CMakeLists.txt +0 -13
- mqt_core-3.2.1/mlir/include/mlir/Dialect/Common/Compat.h +0 -41
- mqt_core-3.2.1/mlir/include/mlir/Dialect/MQTDyn/IR/CMakeLists.txt +0 -16
- mqt_core-3.2.1/mlir/include/mlir/Dialect/MQTDyn/IR/MQTDynOps.td +0 -201
- mqt_core-3.2.1/mlir/include/mlir/Dialect/MQTDyn/Transforms/CMakeLists.txt +0 -12
- mqt_core-3.2.1/mlir/include/mlir/Dialect/MQTDyn/Transforms/Passes.h +0 -36
- mqt_core-3.2.1/mlir/include/mlir/Dialect/MQTDyn/Transforms/Passes.td +0 -24
- mqt_core-3.2.1/mlir/include/mlir/Dialect/MQTOpt/Transforms/Passes.td +0 -56
- mqt_core-3.2.1/src/ir/operations/ClassicControlledOperation.cpp +0 -173
- mqt_core-3.2.1/uv.lock +0 -3740
- {mqt_core-3.2.1 → mqt_core-3.3.1}/.clang-format +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/.cmake-format.yaml +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/.editorconfig +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/.git_archival.txt +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/.gitattributes +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/.gitignore +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/.python_version +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/CITATION.cff +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/LICENSE.md +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/dd/register_dd.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/dd/register_matrix_dds.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/dd/register_vector_dds.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/operations/register_compound_operation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/operations/register_control.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/operations/register_non_unitary_operation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/operations/register_standard_operation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/operations/register_symbolic_operation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/register_ir.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/register_permutation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/register_registers.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/register_symbolic.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/symbolic/register_expression.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/symbolic/register_term.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/bindings/ir/symbolic/register_variable.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/CompilerOptions.cmake +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/CompilerWarnings.cmake +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/FindGMP.cmake +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/GetVersion.cmake +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/PreventInSourceBuilds.cmake +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/Sanitizers.cmake +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/cmake/cmake_uninstall.cmake.in +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/algorithms/BernsteinVazirani.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/algorithms/GHZState.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/algorithms/Grover.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/algorithms/QFT.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/algorithms/QPE.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/algorithms/RandomCliffordCircuit.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/algorithms/StatePreparation.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/algorithms/WState.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/datastructures/DirectedAcyclicGraph.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/datastructures/DirectedGraph.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/datastructures/DisjointSet.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/datastructures/Layer.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/datastructures/SymmetricMatrix.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/datastructures/UndirectedGraph.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/Approximation.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/Complex.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/ComplexNumbers.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/ComplexValue.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/ComputeTable.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/DDDefinitions.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/DDpackageConfig.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/DensityNoiseTable.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/Edge.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/Export.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/FunctionalityConstruction.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/GateMatrixDefinitions.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/LinkedListBase.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/MemoryManager.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/Node.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/NoiseFunctionality.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/Package.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/Package_fwd.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/RealNumber.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/RealNumberUniqueTable.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/Simulation.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/StateGeneration.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/StochasticNoiseOperationTable.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/UnaryComputeTable.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/UniqueTable.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/statistics/MemoryManagerStatistics.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/statistics/PackageStatistics.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/statistics/Statistics.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/statistics/TableStatistics.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/dd/statistics/UniqueTableStatistics.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/Definitions.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/Permutation.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/Register.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/operations/AodOperation.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/operations/Control.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/operations/Expression.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/operations/NonUnitaryOperation.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/ir/operations/SymbolicOperation.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/NAComputation.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/entities/Atom.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/entities/Location.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/entities/Zone.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/GlobalCZOp.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/GlobalOp.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/GlobalRYOp.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/LoadOp.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/LocalOp.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/LocalRZOp.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/LocalUOp.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/MoveOp.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/Op.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/ShuttlingOp.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/na/operations/StoreOp.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/Exception.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/Gate.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/Importer.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/InstVisitor.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/NestedEnvironment.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/Parser.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/Scanner.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/Statement.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/Statement_fwd.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/StdGates.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/Token.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/Types.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/Types_fwd.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/passes/CompilerPass.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/passes/ConstEvalPass.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/qasm3/passes/TypeCheckPass.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/zx/FunctionalityConstruction.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/zx/Rational.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/zx/Rules.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/zx/Simplify.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/zx/Utils.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/zx/ZXDefinitions.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/include/mqt-core/zx/ZXDiagram.hpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/.gitignore +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/CMakeLists.txt +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/include/mlir/CMakeLists.txt +0 -0
- {mqt_core-3.2.1/mlir/include/mlir/Dialect/MQTDyn → mqt_core-3.3.1/mlir/include/mlir/Dialect/MQTOpt}/CMakeLists.txt +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/mlir/tools/CMakeLists.txt +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/__init__.py +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/__main__.py +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/_compat/__init__.py +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/_compat/typing.py +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/_version.pyi +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/dd_evaluation.py +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/ir/registers.pyi +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/ir/symbolic.pyi +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/plugins/__init__.py +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/plugins/qiskit/__init__.py +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/python/mqt/core/py.typed +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/sitecustomize.py +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/algorithms/BernsteinVazirani.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/algorithms/GHZState.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/algorithms/Grover.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/algorithms/RandomCliffordCircuit.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/algorithms/StatePreparation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/algorithms/WState.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/datastructures/Layer.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/Approximation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/CachedEdge.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/Complex.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/ComplexNumbers.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/ComplexValue.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/Edge.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/Export.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/FunctionalityConstruction.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/MemoryManager.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/Node.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/NoiseFunctionality.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/Package.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/RealNumber.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/RealNumberUniqueTable.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/StateGeneration.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/UniqueTable.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/statistics/MemoryManagerStatistics.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/statistics/PackageStatistics.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/statistics/Statistics.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/statistics/TableStatistics.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/dd/statistics/UniqueTableStatistics.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/Permutation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/operations/AodOperation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/operations/Expression.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/operations/NonUnitaryOperation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/ir/operations/SymbolicOperation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/na/NAComputation.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/na/entities/Zone.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/na/operations/GlobalOp.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/na/operations/LoadOp.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/na/operations/LocalOp.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/na/operations/MoveOp.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/na/operations/StoreOp.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/qasm3/Parser.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/qasm3/Types.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/qasm3/passes/TypeCheckPass.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/zx/FunctionalityConstruction.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/zx/Rational.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/zx/Rules.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/zx/Simplify.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/zx/Utils.cpp +0 -0
- {mqt_core-3.2.1 → mqt_core-3.3.1}/src/zx/ZXDiagram.cpp +0 -0
|
@@ -14,6 +14,7 @@ Checks: |
|
|
|
14
14
|
-cppcoreguidelines-macro-usage,
|
|
15
15
|
-cppcoreguidelines-pro-type-reinterpret-cast,
|
|
16
16
|
-cppcoreguidelines-pro-bounds-constant-array-index,
|
|
17
|
+
-cppcoreguidelines-avoid-do-while,
|
|
17
18
|
google-*,
|
|
18
19
|
-google-readability-todo,
|
|
19
20
|
-google-build-using-namespace,
|
|
@@ -13,12 +13,14 @@
|
|
|
13
13
|
".mlir": "SLASH_STYLE",
|
|
14
14
|
".td": "SLASH_STYLE",
|
|
15
15
|
".yaml": "POUND_STYLE",
|
|
16
|
-
".toml": "POUND_STYLE"
|
|
16
|
+
".toml": "POUND_STYLE",
|
|
17
|
+
".proto": "SLASH_STYLE"
|
|
17
18
|
},
|
|
18
19
|
"exclude": [
|
|
19
20
|
"^\\.[^/]+",
|
|
20
21
|
"/\\.[^/]+",
|
|
21
22
|
".*\\.qasm",
|
|
23
|
+
".*\\.ll",
|
|
22
24
|
".*\\.md",
|
|
23
25
|
".*\\.bib",
|
|
24
26
|
".*\\.cff",
|
|
@@ -16,7 +16,7 @@ ci:
|
|
|
16
16
|
repos:
|
|
17
17
|
# Check for merge conflicts
|
|
18
18
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
19
|
-
rev:
|
|
19
|
+
rev: v6.0.0
|
|
20
20
|
hooks:
|
|
21
21
|
- id: check-merge-conflict
|
|
22
22
|
args: ["--assume-in-merge"]
|
|
@@ -24,7 +24,7 @@ repos:
|
|
|
24
24
|
|
|
25
25
|
# Standard hooks
|
|
26
26
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
27
|
-
rev:
|
|
27
|
+
rev: v6.0.0
|
|
28
28
|
hooks:
|
|
29
29
|
- id: check-added-large-files
|
|
30
30
|
- id: check-case-conflict
|
|
@@ -66,15 +66,15 @@ repos:
|
|
|
66
66
|
|
|
67
67
|
# Python linting using ruff
|
|
68
68
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
69
|
-
rev: v0.
|
|
69
|
+
rev: v0.14.0
|
|
70
70
|
hooks:
|
|
71
|
-
- id: ruff
|
|
71
|
+
- id: ruff-check
|
|
72
72
|
args: ["--fix", "--show-fixes"]
|
|
73
73
|
- id: ruff-format
|
|
74
74
|
|
|
75
75
|
# Static type checking using mypy
|
|
76
76
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
77
|
-
rev: v1.
|
|
77
|
+
rev: v1.18.2
|
|
78
78
|
hooks:
|
|
79
79
|
- id: mypy
|
|
80
80
|
files: ^(python/mqt|test/python|noxfile.py)
|
|
@@ -86,20 +86,20 @@ repos:
|
|
|
86
86
|
|
|
87
87
|
# Also run Black on examples in the documentation
|
|
88
88
|
- repo: https://github.com/adamchainz/blacken-docs
|
|
89
|
-
rev: 1.
|
|
89
|
+
rev: 1.20.0
|
|
90
90
|
hooks:
|
|
91
91
|
- id: blacken-docs
|
|
92
|
-
additional_dependencies: [black==
|
|
92
|
+
additional_dependencies: [black==25.*]
|
|
93
93
|
|
|
94
94
|
# Check for license headers
|
|
95
95
|
- repo: https://github.com/emzeat/mz-lictools
|
|
96
|
-
rev: v2.
|
|
96
|
+
rev: v2.8.0
|
|
97
97
|
hooks:
|
|
98
98
|
- id: license-tools
|
|
99
99
|
|
|
100
100
|
# Clang-format the C++ part of the code base automatically
|
|
101
101
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
102
|
-
rev:
|
|
102
|
+
rev: v21.1.2
|
|
103
103
|
hooks:
|
|
104
104
|
- id: clang-format
|
|
105
105
|
types_or: [c++, c, cuda]
|
|
@@ -122,7 +122,7 @@ repos:
|
|
|
122
122
|
|
|
123
123
|
# Check for spelling
|
|
124
124
|
- repo: https://github.com/crate-ci/typos
|
|
125
|
-
rev: v1.
|
|
125
|
+
rev: v1.38.1
|
|
126
126
|
hooks:
|
|
127
127
|
- id: typos
|
|
128
128
|
|
|
@@ -132,19 +132,19 @@ repos:
|
|
|
132
132
|
- id: disallow-caps
|
|
133
133
|
name: Disallow improper capitalization
|
|
134
134
|
language: pygrep
|
|
135
|
-
entry: PyBind|Numpy|Cmake|CCache|Github|PyTest|Mqt|Tum|MQTopt|
|
|
135
|
+
entry: PyBind|Numpy|Cmake|CCache|Github|PyTest|Mqt|Tum|MQTopt|MQTref
|
|
136
136
|
exclude: .pre-commit-config.yaml
|
|
137
137
|
|
|
138
138
|
# Check best practices for scientific Python code
|
|
139
139
|
- repo: https://github.com/scientific-python/cookie
|
|
140
|
-
rev: 2025.
|
|
140
|
+
rev: 2025.10.01
|
|
141
141
|
hooks:
|
|
142
142
|
- id: sp-repo-review
|
|
143
143
|
additional_dependencies: ["repo-review[cli]"]
|
|
144
144
|
|
|
145
145
|
# Check JSON schemata
|
|
146
146
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
147
|
-
rev: 0.
|
|
147
|
+
rev: 0.34.1
|
|
148
148
|
hooks:
|
|
149
149
|
- id: check-dependabot
|
|
150
150
|
- id: check-github-workflows
|
|
@@ -152,7 +152,7 @@ repos:
|
|
|
152
152
|
|
|
153
153
|
# Check the pyproject.toml file
|
|
154
154
|
- repo: https://github.com/henryiii/validate-pyproject-schema-store
|
|
155
|
-
rev: 2025.
|
|
155
|
+
rev: 2025.10.11
|
|
156
156
|
hooks:
|
|
157
157
|
- id: validate-pyproject
|
|
158
158
|
|
|
@@ -2,7 +2,6 @@ version: 2
|
|
|
2
2
|
|
|
3
3
|
formats:
|
|
4
4
|
- htmlzip
|
|
5
|
-
# - pdf
|
|
6
5
|
|
|
7
6
|
sphinx:
|
|
8
7
|
configuration: docs/conf.py
|
|
@@ -12,6 +11,10 @@ build:
|
|
|
12
11
|
tools:
|
|
13
12
|
python: "3.12"
|
|
14
13
|
apt_packages:
|
|
14
|
+
- libmlir-19-dev
|
|
15
|
+
- mlir-19-tools
|
|
16
|
+
- clang-19
|
|
17
|
+
- clang-tools-19
|
|
15
18
|
- graphviz
|
|
16
19
|
- inkscape
|
|
17
20
|
jobs:
|
|
@@ -20,7 +23,7 @@ build:
|
|
|
20
23
|
- (git --no-pager log --pretty="tformat:%s -- %b" -1 | grep -viq "skip ci") || exit 183
|
|
21
24
|
# Skip docs build if there are no changes related to docs
|
|
22
25
|
- |
|
|
23
|
-
if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- bindings/ include/
|
|
26
|
+
if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- bindings/ docs/ include/ mlir/include/ python/ .github/contributing* .github/support* .readthedocs.yaml;
|
|
24
27
|
then
|
|
25
28
|
exit 183;
|
|
26
29
|
fi
|
|
@@ -31,6 +34,9 @@ build:
|
|
|
31
34
|
- asdf plugin add uv
|
|
32
35
|
- asdf install uv latest
|
|
33
36
|
- asdf global uv latest
|
|
37
|
+
# Build the MLIR documentation
|
|
38
|
+
- uvx cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_MQT_CORE_MLIR=ON -DMQT_MLIR_MIN_VERSION=19.0 -DMLIR_DIR=/usr/lib/llvm-19/lib/cmake/mlir -DLLVM_DIR=/usr/lib/llvm-19/lib/cmake/llvm
|
|
39
|
+
- uvx cmake --build build --target mlir-doc
|
|
34
40
|
build:
|
|
35
41
|
html:
|
|
36
42
|
- uv run --frozen --no-dev --group docs -m sphinx -T -b html -d docs/_build/doctrees -D language=en docs $READTHEDOCS_OUTPUT/html
|
|
@@ -38,8 +44,3 @@ build:
|
|
|
38
44
|
- uv run --frozen --no-dev --group docs -m sphinx -T -b dirhtml -d docs/_build/doctrees -D language=en docs docs/_build/dirhtml
|
|
39
45
|
- mkdir -p $READTHEDOCS_OUTPUT/htmlzip
|
|
40
46
|
- zip -r $READTHEDOCS_OUTPUT/htmlzip/html.zip docs/_build/dirhtml/*
|
|
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
|
|
@@ -9,14 +9,74 @@ This project adheres to [Semantic Versioning], with the exception that minor rel
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
-
## [3.
|
|
12
|
+
## [3.3.1] - 2025-10-14
|
|
13
13
|
|
|
14
14
|
### Fixed
|
|
15
15
|
|
|
16
|
-
- 🐛
|
|
17
|
-
|
|
16
|
+
- 🐛 Ensure `spdlog` dependency can be found from `mqt-core` install ([#1263]) ([**@burgholzer**])
|
|
17
|
+
|
|
18
|
+
## [3.3.0] - 2025-10-13
|
|
19
|
+
|
|
20
|
+
_If you are upgrading: please see [`UPGRADING.md`](UPGRADING.md#330)._
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- 👷 Enable testing on Python 3.14 ([#1246]) ([**@denialhaag**])
|
|
25
|
+
- ✨ Add dedicated `PlacementPass` to MLIR transpilation routines ([#1232]) ([**@MatthiasReumann**])
|
|
26
|
+
- ✨ Add an NA-specific FoMaC implementation ([#1223], [#1236]) ([**@ystade**], [**@burgholzer**])
|
|
27
|
+
- ✨ Enable import of BarrierOp into MQTRef ([#1224]) ([**@denialhaag**])
|
|
28
|
+
- ✨ Add naive quantum program routing MLIR pass ([#1148]) ([**@MatthiasReumann**])
|
|
29
|
+
- ✨ Add QIR runtime using DD-based simulation ([#1210]) ([**@ystade**], [**@burgholzer**])
|
|
30
|
+
- ✨ Add SWAP reconstruction patterns to the newly-named `SwapReconstructionAndElision` MLIR pass ([#1207]) ([**@taminob**], [**@burgholzer**])
|
|
31
|
+
- ✨ Add two-way conversions between MQTRef and QIR ([#1091]) ([**@li-mingbao**])
|
|
32
|
+
- 🚸 Define custom assembly formats for MLIR operations ([#1209]) ([**@denialhaag**])
|
|
33
|
+
- ✨ Add support for translating `IfElseOperation`s to the `MQTRef` MLIR dialect ([#1164]) ([**@denialhaag**], [**@burgholzer**])
|
|
34
|
+
- ✨ Add MQT's implementation of a generic FoMaC with Python bindings ([#1150], [#1186], [#1223]) ([**@ystade**])
|
|
35
|
+
- ✨ Add new MLIR pass `ElidePermutations` for SWAP gate elimination ([#1151]) ([**@taminob**])
|
|
36
|
+
- ✨ Add new pattern to MLIR pass `GateElimination` for identity gate removal ([#1140]) ([**@taminob**])
|
|
37
|
+
- ✨ Add Clifford block collection pass to `CircuitOptimizer` module ([#885]) ([**jannikpflieger**], [**@burgholzer**])
|
|
38
|
+
- ✨ Add `isControlled()` method to the `UnitaryInterface` MLIR class ([#1157]) ([**@taminob**], [**@burgholzer**])
|
|
39
|
+
- 📝 Integrate generated MLIR documentation ([#1147]) ([**@denialhaag**], [**@burgholzer**])
|
|
40
|
+
- ✨ Add `IfElseOperation` to C++ library and Python package to support Qiskit's `IfElseOp` ([#1117]) ([**@denialhaag**], [**@burgholzer**], [**@lavanya-m-k**])
|
|
41
|
+
- ✨ Add `allocQubit` and `deallocQubit` operations for dynamically working with single qubits to the MLIR dialects ([#1139]) ([**@DRovara**], [**@burgholzer**])
|
|
42
|
+
- ✨ Add `qubit` operation for static qubit addressing to the MLIR dialects ([#1098], [#1116]) ([**@MatthiasReumann**])
|
|
43
|
+
- ✨ Add MQT's implementation of a QDMI Driver ([#1010]) ([**@ystade**])
|
|
44
|
+
- ✨ Add MQT's implementation of a QDMI Device for neutral atom-based quantum computing ([#996], [#1010], [#1100]) ([**@ystade**], [**@burgholzer**])
|
|
45
|
+
- ✨ Add translation from `QuantumComputation` to the `MQTRef` MLIR dialect ([#1099]) ([**@denialhaag**], [**@burgholzer**])
|
|
46
|
+
- ✨ Add `reset` operations to the MLIR dialects ([#1106]) ([**@DRovara**])
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
|
|
50
|
+
- ♻️ Replace custom `AllocOp`, `DeallocOp`, `ExtractOp`, and `InsertOp` with MLIR-native `memref` operations ([#1211]) ([**@denialhaag**])
|
|
51
|
+
- 🚚 Rename MLIR pass `ElidePermutations` to `SwapReconstructionAndElision` ([#1207]) ([**@taminob**])
|
|
52
|
+
- ⬆️ Require LLVM 21 for building the MLIR library ([#1180]) ([**@denialhaag**])
|
|
53
|
+
- ⬆️ Update to version 21 of `clang-tidy` ([#1180]) ([**@denialhaag**])
|
|
54
|
+
- 🚚 Rename MLIR pass `CancelConsecutiveInverses` to `GateElimination` ([#1140]) ([**@taminob**])
|
|
55
|
+
- 🚚 Rename `xxminusyy` to `xx_minus_yy` and `xxplusyy` to `xx_plus_yy` in MLIR dialects ([#1071]) ([**@BertiFlorea**], [**@denialhaag**])
|
|
56
|
+
- 🚸 Add custom assembly format for operations in the MLIR dialects ([#1139]) ([**@burgholzer**])
|
|
57
|
+
- 🚸 Enable `InferTypeOpInterface` in the MLIR dialects to reduce explicit type information ([#1139]) ([**@burgholzer**])
|
|
58
|
+
- 🚚 Rename `check-quantum-opt` test target to `mqt-core-mlir-lit-test` ([#1139]) ([**@burgholzer**])
|
|
59
|
+
- ♻️ Update the `measure` operations in the MLIR dialects to no longer support more than one qubit being measured at once ([#1106]) ([**@DRovara**])
|
|
60
|
+
- 🚚 Rename `XXminusYY` to `XXminusYYOp` and `XXplusYY` to `XXplusYYOp` in MLIR dialects ([#1099]) ([**@denialhaag**])
|
|
61
|
+
- 🚚 Rename `MQTDyn` MLIR dialect to `MQTRef` ([#1098]) ([**@MatthiasReumann**])
|
|
62
|
+
|
|
63
|
+
### Removed
|
|
64
|
+
|
|
65
|
+
- 🔥 Drop support for Python 3.9 ([#1181]) ([**@denialhaag**])
|
|
66
|
+
- 🔥 Remove `ClassicControlledOperation` from C++ library and Python package ([#1117]) ([**@denialhaag**])
|
|
67
|
+
|
|
68
|
+
### Fixed
|
|
69
|
+
|
|
70
|
+
- 🐛 Fix CMake installation to make `find_package(mqt-core CONFIG)` succeed ([#1247]) ([**@burgholzer**], [**@denialhaag**])
|
|
71
|
+
- 🏁 Fix stack overflows in OpenQASM layout parsing on Windows for large circuits ([#1235]) ([**@burgholzer**])
|
|
72
|
+
- ✨ Add missing `StandardOperation` conversions in MLIR roundtrip pass ([#1071]) ([**@BertiFlorea**], [**@denialhaag**])
|
|
73
|
+
|
|
74
|
+
## [3.2.1] - 2025-08-01
|
|
75
|
+
|
|
76
|
+
### Fixed
|
|
18
77
|
|
|
19
|
-
|
|
78
|
+
- 🐛 Fix usage of `std::accumulate` by changing accumulator parameter from reference to value ([#1089]) ([**@denialhaag**])
|
|
79
|
+
- 🐛 Fix erroneous `contains` check in DD package ([#1088]) ([**@denialhaag**])
|
|
20
80
|
|
|
21
81
|
## [3.2.0] - 2025-07-31
|
|
22
82
|
|
|
@@ -138,7 +198,9 @@ _📚 Refer to the [GitHub Release Notes](https://github.com/munich-quantum-tool
|
|
|
138
198
|
|
|
139
199
|
<!-- Version links -->
|
|
140
200
|
|
|
141
|
-
[unreleased]: https://github.com/munich-quantum-toolkit/core/compare/v3.
|
|
201
|
+
[unreleased]: https://github.com/munich-quantum-toolkit/core/compare/v3.3.1...HEAD
|
|
202
|
+
[3.3.1]: https://github.com/munich-quantum-toolkit/core/releases/tag/v3.3.1
|
|
203
|
+
[3.3.0]: https://github.com/munich-quantum-toolkit/core/releases/tag/v3.3.0
|
|
142
204
|
[3.2.1]: https://github.com/munich-quantum-toolkit/core/releases/tag/v3.2.1
|
|
143
205
|
[3.2.0]: https://github.com/munich-quantum-toolkit/core/releases/tag/v3.2.0
|
|
144
206
|
[3.1.0]: https://github.com/munich-quantum-toolkit/core/releases/tag/v3.1.0
|
|
@@ -149,15 +211,48 @@ _📚 Refer to the [GitHub Release Notes](https://github.com/munich-quantum-tool
|
|
|
149
211
|
|
|
150
212
|
<!-- PR links -->
|
|
151
213
|
|
|
214
|
+
[#1263]: https://github.com/munich-quantum-toolkit/core/pull/1263
|
|
215
|
+
[#1247]: https://github.com/munich-quantum-toolkit/core/pull/1247
|
|
216
|
+
[#1246]: https://github.com/munich-quantum-toolkit/core/pull/1246
|
|
217
|
+
[#1236]: https://github.com/munich-quantum-toolkit/core/pull/1236
|
|
218
|
+
[#1235]: https://github.com/munich-quantum-toolkit/core/pull/1235
|
|
219
|
+
[#1232]: https://github.com/munich-quantum-toolkit/core/pull/1232
|
|
220
|
+
[#1224]: https://github.com/munich-quantum-toolkit/core/pull/1224
|
|
221
|
+
[#1223]: https://github.com/munich-quantum-toolkit/core/pull/1223
|
|
222
|
+
[#1211]: https://github.com/munich-quantum-toolkit/core/pull/1211
|
|
223
|
+
[#1210]: https://github.com/munich-quantum-toolkit/core/pull/1210
|
|
224
|
+
[#1207]: https://github.com/munich-quantum-toolkit/core/pull/1207
|
|
225
|
+
[#1209]: https://github.com/munich-quantum-toolkit/core/pull/1209
|
|
226
|
+
[#1186]: https://github.com/munich-quantum-toolkit/core/pull/1186
|
|
227
|
+
[#1181]: https://github.com/munich-quantum-toolkit/core/pull/1181
|
|
228
|
+
[#1180]: https://github.com/munich-quantum-toolkit/core/pull/1180
|
|
229
|
+
[#1165]: https://github.com/munich-quantum-toolkit/core/pull/1165
|
|
230
|
+
[#1164]: https://github.com/munich-quantum-toolkit/core/pull/1164
|
|
231
|
+
[#1157]: https://github.com/munich-quantum-toolkit/core/pull/1157
|
|
232
|
+
[#1151]: https://github.com/munich-quantum-toolkit/core/pull/1151
|
|
233
|
+
[#1148]: https://github.com/munich-quantum-toolkit/core/pull/1148
|
|
234
|
+
[#1147]: https://github.com/munich-quantum-toolkit/core/pull/1147
|
|
235
|
+
[#1140]: https://github.com/munich-quantum-toolkit/core/pull/1140
|
|
236
|
+
[#1139]: https://github.com/munich-quantum-toolkit/core/pull/1139
|
|
237
|
+
[#1117]: https://github.com/munich-quantum-toolkit/core/pull/1117
|
|
238
|
+
[#1116]: https://github.com/munich-quantum-toolkit/core/pull/1116
|
|
239
|
+
[#1106]: https://github.com/munich-quantum-toolkit/core/pull/1106
|
|
240
|
+
[#1100]: https://github.com/munich-quantum-toolkit/core/pull/1100
|
|
241
|
+
[#1099]: https://github.com/munich-quantum-toolkit/core/pull/1099
|
|
242
|
+
[#1098]: https://github.com/munich-quantum-toolkit/core/pull/1098
|
|
243
|
+
[#1091]: https://github.com/munich-quantum-toolkit/core/pull/1091
|
|
152
244
|
[#1089]: https://github.com/munich-quantum-toolkit/core/pull/1089
|
|
153
245
|
[#1088]: https://github.com/munich-quantum-toolkit/core/pull/1088
|
|
154
246
|
[#1076]: https://github.com/munich-quantum-toolkit/core/pull/1076
|
|
155
247
|
[#1075]: https://github.com/munich-quantum-toolkit/core/pull/1075
|
|
248
|
+
[#1071]: https://github.com/munich-quantum-toolkit/core/pull/1071
|
|
156
249
|
[#1047]: https://github.com/munich-quantum-toolkit/core/pull/1047
|
|
157
250
|
[#1042]: https://github.com/munich-quantum-toolkit/core/pull/1042
|
|
158
251
|
[#1020]: https://github.com/munich-quantum-toolkit/core/pull/1020
|
|
159
252
|
[#1019]: https://github.com/munich-quantum-toolkit/core/pull/1019
|
|
253
|
+
[#1010]: https://github.com/munich-quantum-toolkit/core/pull/1010
|
|
160
254
|
[#1001]: https://github.com/munich-quantum-toolkit/core/pull/1001
|
|
255
|
+
[#996]: https://github.com/munich-quantum-toolkit/core/pull/996
|
|
161
256
|
[#984]: https://github.com/munich-quantum-toolkit/core/pull/984
|
|
162
257
|
[#982]: https://github.com/munich-quantum-toolkit/core/pull/982
|
|
163
258
|
[#975]: https://github.com/munich-quantum-toolkit/core/pull/975
|
|
@@ -181,6 +276,7 @@ _📚 Refer to the [GitHub Release Notes](https://github.com/munich-quantum-tool
|
|
|
181
276
|
[#893]: https://github.com/munich-quantum-toolkit/core/pull/893
|
|
182
277
|
[#892]: https://github.com/munich-quantum-toolkit/core/pull/892
|
|
183
278
|
[#886]: https://github.com/munich-quantum-toolkit/core/pull/886
|
|
279
|
+
[#885]: https://github.com/munich-quantum-toolkit/core/pull/885
|
|
184
280
|
[#883]: https://github.com/munich-quantum-toolkit/core/pull/883
|
|
185
281
|
[#882]: https://github.com/munich-quantum-toolkit/core/pull/882
|
|
186
282
|
[#879]: https://github.com/munich-quantum-toolkit/core/pull/879
|
|
@@ -228,6 +324,9 @@ _📚 Refer to the [GitHub Release Notes](https://github.com/munich-quantum-tool
|
|
|
228
324
|
[**@denialhaag**]: https://github.com/denialhaag
|
|
229
325
|
[**q-inho**]: https://github.com/q-inho
|
|
230
326
|
[**@li-mingbao**]: https://github.com/li-mingbao
|
|
327
|
+
[**@lavanya-m-k**]: https://github.com/lavanya-m-k
|
|
328
|
+
[**@taminob**]: https://github.com/taminob
|
|
329
|
+
[**@jannikpflieger**]: https://github.com/jannikpflieger
|
|
231
330
|
|
|
232
331
|
<!-- General links -->
|
|
233
332
|
|
|
@@ -47,7 +47,7 @@ if(BUILD_MQT_CORE_BINDINGS)
|
|
|
47
47
|
endif()
|
|
48
48
|
|
|
49
49
|
# top-level call to find Python
|
|
50
|
-
find_package(Python 3.
|
|
50
|
+
find_package(Python 3.10 REQUIRED COMPONENTS Interpreter Development.Module)
|
|
51
51
|
endif()
|
|
52
52
|
|
|
53
53
|
# check if this is the master project or used via add_subdirectory
|
|
@@ -59,7 +59,7 @@ endif()
|
|
|
59
59
|
|
|
60
60
|
option(MQT_CORE_INSTALL "Generate installation instructions for MQT Core"
|
|
61
61
|
${MQT_CORE_MASTER_PROJECT})
|
|
62
|
-
option(BUILD_MQT_CORE_TESTS "
|
|
62
|
+
option(BUILD_MQT_CORE_TESTS "Build tests for the MQT Core project" ${MQT_CORE_MASTER_PROJECT})
|
|
63
63
|
option(BUILD_MQT_CORE_SHARED_LIBS "Build MQT Core libraries as shared libraries"
|
|
64
64
|
${BUILD_SHARED_LIBS})
|
|
65
65
|
|
|
@@ -84,13 +84,21 @@ if(MQT_CORE_INSTALL)
|
|
|
84
84
|
else()
|
|
85
85
|
set(BASEPOINT $ORIGIN)
|
|
86
86
|
endif()
|
|
87
|
-
set(CMAKE_INSTALL_RPATH ${BASEPOINT} ${BASEPOINT}/${CMAKE_INSTALL_LIBDIR}
|
|
87
|
+
set(CMAKE_INSTALL_RPATH ${BASEPOINT} ${BASEPOINT}/${CMAKE_INSTALL_LIBDIR}
|
|
88
|
+
${BASEPOINT}/../${CMAKE_INSTALL_LIBDIR})
|
|
88
89
|
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
89
90
|
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
|
90
91
|
endif()
|
|
91
92
|
|
|
92
93
|
set(MQT_CORE_TARGET_NAME "mqt-core")
|
|
93
94
|
|
|
95
|
+
option(BUILD_MQT_CORE_MLIR "Build the MLIR submodule of the MQT Core project" OFF)
|
|
96
|
+
if(BUILD_MQT_CORE_MLIR)
|
|
97
|
+
include(SetupMLIR)
|
|
98
|
+
endif()
|
|
99
|
+
cmake_dependent_option(BUILD_MQT_CORE_QIR_RUNNER "Build the QIR runner of the MQT Core project" ON
|
|
100
|
+
"BUILD_MQT_CORE_MLIR" OFF)
|
|
101
|
+
|
|
94
102
|
# add main library code
|
|
95
103
|
add_subdirectory(src)
|
|
96
104
|
|
|
@@ -111,10 +119,20 @@ if(BUILD_MQT_CORE_BENCHMARKS)
|
|
|
111
119
|
add_subdirectory(eval)
|
|
112
120
|
endif()
|
|
113
121
|
|
|
114
|
-
option(BUILD_MQT_CORE_MLIR "Build the MLIR submodule of the MQT Core project" OFF)
|
|
115
122
|
if(BUILD_MQT_CORE_MLIR)
|
|
116
|
-
include(SetupMLIR)
|
|
117
123
|
add_subdirectory(mlir)
|
|
124
|
+
|
|
125
|
+
# copy generated MLIR documentation
|
|
126
|
+
add_custom_command(
|
|
127
|
+
TARGET mlir-doc
|
|
128
|
+
POST_BUILD
|
|
129
|
+
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_BINARY_DIR}/docs/
|
|
130
|
+
${CMAKE_CURRENT_SOURCE_DIR}/docs/mlir/
|
|
131
|
+
COMMAND ${CMAKE_COMMAND} -D DOCS_DIR:PATH=${CMAKE_CURRENT_SOURCE_DIR}/docs/mlir -P
|
|
132
|
+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/CleanMLIRDocs.cmake
|
|
133
|
+
COMMENT "Copying and cleaning up generated MLIR documentation"
|
|
134
|
+
VERBATIM)
|
|
135
|
+
|
|
118
136
|
endif()
|
|
119
137
|
|
|
120
138
|
if(MQT_CORE_MASTER_PROJECT)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mqt-core
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.3.1
|
|
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>
|
|
@@ -15,7 +15,6 @@ Classifier: Operating System :: POSIX :: Linux
|
|
|
15
15
|
Classifier: Programming Language :: C++
|
|
16
16
|
Classifier: Programming Language :: Python
|
|
17
17
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -29,9 +28,11 @@ Project-URL: Documentation, https://mqt.readthedocs.io/projects/core
|
|
|
29
28
|
Project-URL: Issues, https://github.com/munich-quantum-toolkit/core/issues
|
|
30
29
|
Project-URL: Discussions, https://github.com/munich-quantum-toolkit/core/discussions
|
|
31
30
|
Project-URL: PyPI, https://pypi.org/project/mqt-core/
|
|
32
|
-
Requires-Python: >=3.
|
|
31
|
+
Requires-Python: >=3.10
|
|
33
32
|
Provides-Extra: evaluation
|
|
34
33
|
Requires-Dist: pandas[output-formatting]>=2.1.2; extra == "evaluation"
|
|
34
|
+
Requires-Dist: pandas[output-formatting]>=2.2.3; python_version >= "3.13" and extra == "evaluation"
|
|
35
|
+
Requires-Dist: pandas[output-formatting]>=2.3.3; python_version >= "3.14" and extra == "evaluation"
|
|
35
36
|
Provides-Extra: qiskit
|
|
36
37
|
Requires-Dist: qiskit[qasm3-import]>=1.0.0; extra == "qiskit"
|
|
37
38
|
Description-Content-Type: text/markdown
|
|
@@ -47,10 +48,10 @@ Description-Content-Type: text/markdown
|
|
|
47
48
|
|
|
48
49
|
<p align="center">
|
|
49
50
|
<a href="https://mqt.readthedocs.io">
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
<picture>
|
|
52
|
+
<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%">
|
|
53
|
+
<img src="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/logo-mqt-light.svg" width="60%" alt="MQT Logo">
|
|
54
|
+
</picture>
|
|
54
55
|
</a>
|
|
55
56
|
</p>
|
|
56
57
|
|
|
@@ -69,6 +70,7 @@ MQT Core is an open-source C++20 and Python library for quantum computing that f
|
|
|
69
70
|
- Fully fledged intermediate representation (IR) for quantum computations.
|
|
70
71
|
- A state-of-the-art decision diagram (DD) package for quantum computing.
|
|
71
72
|
- A dedicated ZX-diagram package for working with the ZX-calculus.
|
|
73
|
+
- A QIR runtime based on the decision diagram package.
|
|
72
74
|
|
|
73
75
|
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).
|
|
74
76
|
|
|
@@ -79,22 +81,40 @@ Among others, it is part of the [Munich Quantum Software Stack (MQSS)](https://w
|
|
|
79
81
|
|
|
80
82
|
<p align="center">
|
|
81
83
|
<picture>
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
<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%">
|
|
85
|
+
<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">
|
|
84
86
|
</picture>
|
|
85
87
|
</p>
|
|
86
88
|
|
|
87
89
|
Thank you to all the contributors who have helped make MQT Core a reality!
|
|
88
90
|
|
|
89
91
|
<p align="center">
|
|
90
|
-
<a href="https://github.com/munich-quantum-toolkit/core/graphs/contributors">
|
|
91
|
-
<img src="https://contrib.rocks/image?repo=munich-quantum-toolkit/core" />
|
|
92
|
-
</a>
|
|
92
|
+
<a href="https://github.com/munich-quantum-toolkit/core/graphs/contributors">
|
|
93
|
+
<img src="https://contrib.rocks/image?repo=munich-quantum-toolkit/core" alt="Contributors to munich-quantum-toolkit/core" />
|
|
94
|
+
</a>
|
|
95
|
+
</p>
|
|
96
|
+
|
|
97
|
+
The MQT will remain free, open-source, and permissively licensed—now and in the future.
|
|
98
|
+
We are firmly committed to keeping it open and actively maintained for the quantum computing community.
|
|
99
|
+
|
|
100
|
+
To support this endeavor, please consider:
|
|
101
|
+
|
|
102
|
+
- Starring and sharing our repositories: https://github.com/munich-quantum-toolkit
|
|
103
|
+
- Contributing code, documentation, tests, or examples via issues and pull requests
|
|
104
|
+
- Citing the MQT in your publications (see [Cite This](#cite-this))
|
|
105
|
+
- Citing our research in your publications (see [References](https://mqt.readthedocs.io/projects/core/en/latest/references.html))
|
|
106
|
+
- Using the MQT in research and teaching, and sharing feedback and use cases
|
|
107
|
+
- Sponsoring us on GitHub: https://github.com/sponsors/munich-quantum-toolkit
|
|
108
|
+
|
|
109
|
+
<p align="center">
|
|
110
|
+
<a href="https://github.com/sponsors/munich-quantum-toolkit">
|
|
111
|
+
<img width=20% src="https://img.shields.io/badge/Sponsor-white?style=for-the-badge&logo=githubsponsors&labelColor=black&color=blue" alt="Sponsor the MQT" />
|
|
112
|
+
</a>
|
|
93
113
|
</p>
|
|
94
114
|
|
|
95
115
|
## Getting Started
|
|
96
116
|
|
|
97
|
-
`mqt.core` is available via [PyPI](https://pypi.org/project/mqt.core/)
|
|
117
|
+
`mqt.core` is available via [PyPI](https://pypi.org/project/mqt.core/).
|
|
98
118
|
|
|
99
119
|
```console
|
|
100
120
|
(.venv) $ pip install mqt.core
|
|
@@ -117,15 +137,17 @@ print(qc)
|
|
|
117
137
|
|
|
118
138
|
## System Requirements
|
|
119
139
|
|
|
120
|
-
Building
|
|
121
|
-
|
|
140
|
+
Building the project requires a C++ compiler with support for C++20 and CMake 3.24 or newer.
|
|
141
|
+
For details on how to build the project, please refer to the [documentation](https://mqt.readthedocs.io/projects/core).
|
|
142
|
+
Building (and running) is continuously tested under Linux, macOS, and Windows using the [latest available system versions for GitHub Actions](https://github.com/actions/runner-images).
|
|
143
|
+
MQT Core is compatible with all [officially supported Python versions](https://devguide.python.org/versions/).
|
|
122
144
|
|
|
123
|
-
|
|
145
|
+
The project relies on some external dependencies:
|
|
124
146
|
|
|
125
|
-
- [nlohmann/json](https://github.com/nlohmann/json): A JSON library for modern C++.
|
|
126
147
|
- [boost/multiprecision](https://github.com/boostorg/multiprecision): A library for multiprecision arithmetic (used in the ZX package).
|
|
148
|
+
- [nlohmann/json](https://github.com/nlohmann/json): A JSON library for modern C++.
|
|
149
|
+
- [pybind/pybind11_json](https://github.com/pybind/pybind11_json): A library for using `nlohmann::json` with `pybind11` (only used for creating the Python bindings).
|
|
127
150
|
- [google/googletest](https://github.com/google/googletest): A testing framework for C++ (only used in tests).
|
|
128
|
-
- [pybind/pybind11_json](https://github.com/pybind/pybind11_json): Using nlohmann::json with pybind11 (only used for creating the Python bindings).
|
|
129
151
|
|
|
130
152
|
CMake will automatically look for installed versions of these libraries. If it does not find them, they will be fetched automatically at configure time via the [FetchContent](https://cmake.org/cmake/help/latest/module/FetchContent.html) module (check out the documentation for more information on how to customize this behavior).
|
|
131
153
|
|
|
@@ -135,20 +157,42 @@ If you want to use the ZX library, it is recommended (although not strictly nece
|
|
|
135
157
|
|
|
136
158
|
## Cite This
|
|
137
159
|
|
|
138
|
-
|
|
160
|
+
Please cite the work that best fits your use case.
|
|
161
|
+
|
|
162
|
+
### MQT Core (the tool)
|
|
163
|
+
|
|
164
|
+
When citing the software itself or results produced with it, cite the MQT Core paper:
|
|
139
165
|
|
|
140
166
|
```bibtex
|
|
141
167
|
@article{burgholzer2025MQTCore,
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
168
|
+
title = {{{MQT Core}}: {{The}} Backbone of the {{Munich Quantum Toolkit (MQT)}}},
|
|
169
|
+
author = {Burgholzer, Lukas and Stade, Yannick and Peham, Tom and Wille, Robert},
|
|
170
|
+
year = 2025,
|
|
171
|
+
journal = {Journal of Open Source Software},
|
|
172
|
+
publisher = {The Open Journal},
|
|
173
|
+
volume = 10,
|
|
174
|
+
number = 108,
|
|
175
|
+
pages = 7478,
|
|
176
|
+
doi = {10.21105/joss.07478},
|
|
177
|
+
url = {https://doi.org/10.21105/joss.07478}
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### The Munich Quantum Toolkit (the project)
|
|
182
|
+
|
|
183
|
+
When discussing the overall MQT project or its ecosystem, cite the MQT Handbook:
|
|
184
|
+
|
|
185
|
+
```bibtex
|
|
186
|
+
@inproceedings{mqt,
|
|
187
|
+
title = {The {{MQT}} Handbook: {{A}} Summary of Design Automation Tools and Software for Quantum Computing},
|
|
188
|
+
shorttitle = {{The MQT Handbook}},
|
|
189
|
+
author = {Wille, Robert and Berent, Lucas and Forster, Tobias and Kunasaikaran, Jagatheesan and Mato, Kevin and Peham, Tom and Quetschlich, Nils and Rovara, Damian and Sander, Aaron and Schmid, Ludwig and Schoenberger, Daniel and Stade, Yannick and Burgholzer, Lukas},
|
|
190
|
+
year = 2024,
|
|
191
|
+
booktitle = {IEEE International Conference on Quantum Software (QSW)},
|
|
192
|
+
doi = {10.1109/QSW62656.2024.00013},
|
|
193
|
+
eprint = {2405.17543},
|
|
194
|
+
eprinttype = {arxiv},
|
|
195
|
+
addendum = {A live version of this document is available at \url{https://mqt.readthedocs.io}}
|
|
152
196
|
}
|
|
153
197
|
```
|
|
154
198
|
|
|
@@ -156,10 +200,7 @@ If you want to cite MQT Core, please use the following BibTeX entry:
|
|
|
156
200
|
|
|
157
201
|
## Acknowledgements
|
|
158
202
|
|
|
159
|
-
The Munich Quantum Toolkit has been supported by the European
|
|
160
|
-
Research Council (ERC) under the European Union's Horizon 2020 research and innovation program (grant agreement
|
|
161
|
-
No. 101001318), the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program, as well as the
|
|
162
|
-
Munich Quantum Valley, which is supported by the Bavarian state government with funds from the Hightech Agenda Bayern Plus.
|
|
203
|
+
The Munich Quantum Toolkit has been supported by the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation program (grant agreement No. 101001318), the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program, as well as the Munich Quantum Valley, which is supported by the Bavarian state government with funds from the Hightech Agenda Bayern Plus.
|
|
163
204
|
|
|
164
205
|
<p align="center">
|
|
165
206
|
<picture>
|