From 9132bc2c1515b4beba4dbe73e94bcd6c239da747 Mon Sep 17 00:00:00 2001 From: KevinMTO <37836441+KevinMTO@users.noreply.github.com> Date: Tue, 30 Apr 2024 17:15:49 +0200 Subject: [PATCH] Readme docs (#19) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Lukas Burgholzer --- MQT_Qudits_Tutorial/2dqed.png | Bin 188941 -> 0 bytes .../MQT Qudits Tutorial-checkpoint.ipynb | 827 ----------------- MQT_Qudits_Tutorial/MQT Qudits Tutorial.ipynb | 844 ------------------ MQT_Qudits_Tutorial/foot.png | Bin 19695 -> 0 bytes README.md | 13 +- docs/_static/eu_funded_dark.svg | 477 ++++++++++ docs/_static/eu_funded_light.svg | 477 ++++++++++ docs/_static/foot.png | Bin 19695 -> 0 bytes docs/_templates/page.html | 18 +- docs/publications.md | 2 +- docs/refs.bib | 42 +- docs/tutorial.md | 15 +- ...ts Overview.pdf => mqt-qudits-overview.pdf | Bin src/mqt/__init__.py | 0 src/python/bindings.cpp | 1 - .../compiler/onedit/test_swap_routine.py | 1 - 16 files changed, 999 insertions(+), 1718 deletions(-) delete mode 100644 MQT_Qudits_Tutorial/2dqed.png delete mode 100644 MQT_Qudits_Tutorial/MQT Qudits Tutorial-checkpoint.ipynb delete mode 100644 MQT_Qudits_Tutorial/MQT Qudits Tutorial.ipynb delete mode 100644 MQT_Qudits_Tutorial/foot.png create mode 100644 docs/_static/eu_funded_dark.svg create mode 100644 docs/_static/eu_funded_light.svg delete mode 100644 docs/_static/foot.png rename MQT_Qudits_Tutorial/MQT Qudits Overview.pdf => mqt-qudits-overview.pdf (100%) delete mode 100644 src/mqt/__init__.py diff --git a/MQT_Qudits_Tutorial/2dqed.png b/MQT_Qudits_Tutorial/2dqed.png deleted file mode 100644 index d3f2e8e330018820b68c3f5f2e94e3757eb048e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188941 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 fL=K&=reRs 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

Delve into the realm of mixed-dimensional quantum computing with NeQST—a project funded by the European Union and developed at the Chair for Design Automation at the Technical University of Munich, as part of the Munich Quantum Toolkit.

Our team is focused on creating design automation methods and software for quDit-based systems. Explore our Jupyter file to discover the initial tools and contributions we've made to advance Quantum Information Processing for Science and Technology.\n", - "\"Logo \n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "e3f8addb", - "metadata": {}, - "source": [ - "## Installation steps:\n", - "\n", - "#### mqt.qudits is available via PyPI for all major operating systems and supports Python 3.8 to 3.12.\n", - "\n", - "```\n", - "!pip install mqt.qudits\n", - "```\n" - ] - }, - { - "cell_type": "markdown", - "id": "bfe14179", - "metadata": {}, - "source": [ - "# User Inputs 💻\n", - "\n", - "🚀 **New QASM Extension:**\n", - "Dive into a language meticulously designed to express quantum algorithms and circuits. MQT extends the openQASM 2.0 grammar, effortlessly adapting to registers that feature a harmonious mix of qudits and qubits in diverse combinations. \n", - "\n", - "🐍 **Python Interface** \n", - "\n", - "Constructing and manipulating quantum programs becomes a breeze with Python. You have the flexibility to:\n", - "\n", - "1. **Initialize Quantum Circuits:** Start by creating your quantum circuits effortlessly.\n", - "\n", - "2. **Create Quantum Registers:** Build dedicated quantum registers tailored to your needs.\n", - "\n", - "3. **Compose Circuits:** Seamlessly bring together your quantum registers, forming a unified and powerful circuit.\n", - "\n", - "4. **Apply Operations:** Easily apply a variety of qudit operations, without worrying about the right representation. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "08648c55", - "metadata": {}, - "source": [ - "\"2dqed.png\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c248f22a", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "\n", - "from mqt.qudits.quantum_circuit import QuantumCircuit" - ] - }, - { - "cell_type": "markdown", - "id": "2a47bfc3", - "metadata": {}, - "source": [ - "After the import of the quantum circuit object, it is possible starting from a __DITQASM__ program to automatically create a circuit and manipulate it, if not simulate it or compile it to a more suitable gate-set for the machine.\n", - "In the next cell the program is explicitly written, although several methods for importing programs from files are present in the library." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5274efd5", - "metadata": {}, - "outputs": [], - "source": [ - "qasm = \"\"\"\n", - " DITQASM 2.0;\n", - " \n", - " qreg field [7][5,5,5,5,5,5,5];\n", - " qreg matter [2];\n", - " \n", - " creg meas_matter[7];\n", - " creg meas_fields[3];\n", - " \n", - " h matter[0] ctl field[0] field[1] [0,0];\n", - " cx field[2], matter[0];\n", - " cx field[2], matter[1];\n", - " rxy (0, 1, pi, pi/2) field[3];\n", - " \n", - " measure q[0] -> meas[0];\n", - " measure q[1] -> meas[1];\n", - " measure q[2] -> meas[2];\n", - " \"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "e718e589", - "metadata": {}, - "source": [ - "A new feature is the __control syntax__: _operation_ __ctl__ _quditline_ \\[list of qudit control levels\\]\n", - "
\n", - "We can import the QASM program and construct a quantum circuit.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "356d82c2", - "metadata": {}, - "outputs": [], - "source": [ - "circuit = QuantumCircuit()\n", - "circuit.from_qasm(qasm)\n", - "\n", - "print(f\"\\n Number of operations: {len(circuit.instructions)}, \\n Number of qudits in the circuit: {circuit.num_qudits}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4d2b2cf2", - "metadata": {}, - "outputs": [], - "source": [ - "circuit.dimensions" - ] - }, - { - "cell_type": "markdown", - "id": "101de68e", - "metadata": {}, - "source": [ - "##### Let's construct a quantum circuit from scratch, with the python interface.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9a283781", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.quantum_circuit.components.quantum_register import QuantumRegister\n", - "\n", - "circuit = QuantumCircuit()\n", - "\n", - "field_reg = QuantumRegister(\"fields\", 1, [7])\n", - "matter_reg = QuantumRegister(\"matter\", 1, [2])\n", - "\n", - "circuit.append(field_reg)\n", - "circuit.append(matter_reg)\n", - "\n", - "print(f\"\\n Number of operations: {len(circuit.instructions)}, \\n Number of qudits in the circuit: {circuit.num_qudits}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "192d09b0", - "metadata": {}, - "outputs": [], - "source": [ - "circuit.gate_set" - ] - }, - { - "cell_type": "markdown", - "id": "a23644c5", - "metadata": {}, - "source": [ - "##### No operations were inserted yet, let's take a look at how operations can be applied!" - ] - }, - { - "cell_type": "markdown", - "id": "2dd17aed", - "metadata": {}, - "source": [ - "The size of every line is detected automatically and the right operations are applied to the right qudits" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0ed0c548", - "metadata": {}, - "outputs": [], - "source": [ - "h = circuit.h(field_reg[0])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "22bd7e9b", - "metadata": {}, - "outputs": [], - "source": [ - "csum = circuit.csum([field_reg[0], matter_reg[0]])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bc8489ec", - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"\\n Number of operations: {len(circuit.instructions)}, \\n Number of qudits in the circuit: {circuit.num_qudits}\")" - ] - }, - { - "cell_type": "markdown", - "id": "52b43bbf", - "metadata": {}, - "source": [ - "\n", - "##### It is possible to export the code as well and share your program in a QASM file.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b79ad7c3", - "metadata": {}, - "outputs": [], - "source": [ - "print(circuit.to_qasm())" - ] - }, - { - "cell_type": "markdown", - "id": "e6c76f81", - "metadata": {}, - "source": [ - "#### Let's save the circuit to file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a6e17342", - "metadata": {}, - "outputs": [], - "source": [ - "circuit.save_to_file(\"my_circuit\", \"/home/k3vn/Desktop\")" - ] - }, - { - "cell_type": "markdown", - "id": "9e47c69a", - "metadata": {}, - "source": [ - "#### Load from file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c6f66e02", - "metadata": {}, - "outputs": [], - "source": [ - "circuit.load_from_file(\"/home/k3vn/Desktop/my_circuit.qasm\")\n", - "\n", - "print(\"Program:\\n\\n\", circuit.to_qasm())\n", - "print(\"Dimensions: \", circuit.dimensions)" - ] - }, - { - "cell_type": "markdown", - "id": "4d59b4c7", - "metadata": {}, - "source": [ - "### Custom gates" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cf9b9720", - "metadata": {}, - "outputs": [], - "source": [ - "n = 5\n", - "random_matrix = np.random.randn(n, n) + 1j * np.random.randn(n, n)\n", - "\n", - "Q, R = np.linalg.qr(random_matrix)\n", - "\n", - "unitary_matrix = Q\n", - "cu = circuit.cu_one(field_reg[0], unitary_matrix)" - ] - }, - { - "cell_type": "markdown", - "id": "25105c05", - "metadata": {}, - "source": [ - "##### Gates follow the order:\n", - "- target qudit/s : list or single number\n", - "- parameters lis with order lower level, upper level, control level, theta, phi\n", - "- control data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f9dcf9b4", - "metadata": {}, - "outputs": [], - "source": [ - "r = circuit.r(field_reg[0], [0, 1, np.pi / 5, np.pi / 7])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "43221ade", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.qudit_circuits.components.instructions.gate_extensions.controls import ControlData\n", - "\n", - "r_c1 = circuit.r(field_reg[0], [0, 1, np.pi / 5, np.pi / 7], ControlData([matter_reg[0]], [1]))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "480417f5", - "metadata": {}, - "outputs": [], - "source": [ - "r_c2 = circuit.r(field_reg[0], [0, 1, np.pi / 5, np.pi / 7]).control([matter_reg[0]], [1])" - ] - }, - { - "cell_type": "markdown", - "id": "b2f8b1f6", - "metadata": {}, - "source": [ - "##### Representation of the matrix is dynamic:\n", - "- 0: no identities\n", - "- 1: identities in between long-range gates are introduced\n", - "- 2: full circuit unitary" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "20f638dc", - "metadata": {}, - "outputs": [], - "source": [ - "print(r._name)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "effbb9a5", - "metadata": {}, - "outputs": [], - "source": [ - "r.to_matrix()" - ] - }, - { - "cell_type": "markdown", - "id": "a030d94b", - "metadata": {}, - "source": [ - "##### you can dagger a gate anytime\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "720bb90b", - "metadata": {}, - "outputs": [], - "source": [ - "rd = r.dag()\n", - "print(rd._name)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f42f7ec4", - "metadata": {}, - "outputs": [], - "source": [ - "rd.to_matrix()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8695a95e", - "metadata": {}, - "outputs": [], - "source": [ - "r_c1.control_info" - ] - }, - { - "cell_type": "markdown", - "id": "b74cc7f8", - "metadata": {}, - "source": [ - "##### Two and Multi qudits gates follow the rule:\n", - "- two : target_qudits first is control, second is target\n", - "- multi: all are controls, except last one is target" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bc118b90", - "metadata": {}, - "outputs": [], - "source": [ - "r_c1.reference_lines" - ] - }, - { - "cell_type": "markdown", - "id": "d67f883c", - "metadata": {}, - "source": [ - "# Simulation 🚀\n", - "\n", - "After crafting your quantum circuit with precision, take it for a spin using two distinct engines, each flaunting its unique set of data structures.\n", - "\n", - "- **External Tensor-Network Simulator:** Delve into the quantum realm with a robust external tensor-network simulator. Can simulate all the gate-set.\n", - "\n", - "- **MiSiM (C++-Powered):** Unleash the power of decision-diagram-based simulation with MiSiM, seamlessly interfaced with Python for a fluid and efficient experience. 🌐💡 Can simulate only the machine set." - ] - }, - { - "cell_type": "markdown", - "id": "13fa1ac7", - "metadata": {}, - "source": [ - "#### Supported by MISIM now:\n", - "csum\n", - "cx\n", - "h\n", - "rxy\n", - "rz\n", - "virtrz\n", - "s\n", - "x\n", - "z\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "39904844", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.quantum_circuit.components.quantum_register import QuantumRegister\n", - "\n", - "circuit = QuantumCircuit()\n", - "\n", - "field_reg = QuantumRegister(\"fields\", 1, [3])\n", - "matter_reg = QuantumRegister(\"matter\", 1, [3])\n", - "\n", - "circuit.append(field_reg)\n", - "circuit.append(matter_reg)\n", - "\n", - "h = circuit.h(field_reg[0])\n", - "csum = circuit.csum([field_reg[0], matter_reg[0]])\n", - "\n", - "print(f\"\\n Number of operations: {len(circuit.instructions)}, \\n Number of qudits in the circuit: {circuit.num_qudits}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "13be385f", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.simulation import MQTQuditProvider\n", - "\n", - "provider = MQTQuditProvider()\n", - "provider.backends(\"sim\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ab6d2c80", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.visualisation.plot_information import plot_counts, plot_state\n", - "\n", - "backend = provider.get_backend(\"tnsim\")\n", - "\n", - "job = backend.run(circuit)\n", - "result = job.result()\n", - "\n", - "state_vector = result.get_state_vector()\n", - "\n", - "plot_state(state_vector, circuit)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e18653e8", - "metadata": {}, - "outputs": [], - "source": [ - "backend = provider.get_backend(\"misim\")\n", - "\n", - "job = backend.run(circuit)\n", - "result = job.result()\n", - "\n", - "state_vector = result.get_state_vector()\n", - "\n", - "plot_state(state_vector, circuit)" - ] - }, - { - "cell_type": "markdown", - "id": "63baa60f", - "metadata": {}, - "source": [ - "### Extending Engines with Noise Model and Properties for FakeBackend\n", - "\n", - "Enhance your quantum simulation experience by extending the engines with a noise model and incorporating various properties. This process allows you to create a FakeBackend, inspired by the best machines in experimental laboratories.\n", - "\n", - "#### Noise Model Integration\n", - "\n", - "Introduce realism into your simulations by incorporating a noise model. Simulate the effects of environmental factors and imperfections, bringing your quantum algorithms closer to real-world scenarios.\n", - "\n", - "\n", - "#### Creating a FakeBackend\n", - "\n", - "By combining a noise model and carefully tuned properties, you can craft a FakeBackend that closely emulates the performance of the best quantum machines in experimental laboratories. This allows for more realistic and insightful quantum simulations.\n", - "\n", - "Experiment, iterate, and simulate quantum circuits with the sophistication of real-world conditions, all within the controlled environment of your simulation. 🛠️🔬\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7ddd23dc", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.simulation.noise_tools import Noise, NoiseModel\n", - "\n", - "# Depolarizing quantum errors\n", - "local_error = Noise(probability_depolarizing=0.001, probability_dephasing=0.001)\n", - "local_error_rz = Noise(probability_depolarizing=0.03, probability_dephasing=0.03)\n", - "\n", - "entangling_error = Noise(probability_depolarizing=0.1, probability_dephasing=0.001)\n", - "entangling_error_extra = Noise(probability_depolarizing=0.1, probability_dephasing=0.1)\n", - "\n", - "entangling_error_on_target = Noise(probability_depolarizing=0.1, probability_dephasing=0.0)\n", - "entangling_error_on_control = Noise(probability_depolarizing=0.01, probability_dephasing=0.0)\n", - "\n", - "# Add errors to noise_tools model\n", - "\n", - "noise_model = NoiseModel() # We know that the architecture is only two qudits\n", - "# Very noisy gate\n", - "noise_model.add_all_qudit_quantum_error(local_error, [\"csum\"])\n", - "noise_model.add_recurrent_quantum_error_locally(local_error, [\"csum\"], [0])\n", - "# Entangling gates\n", - "noise_model.add_nonlocal_quantum_error(entangling_error, [\"cx\", \"ls\", \"ms\"])\n", - "noise_model.add_nonlocal_quantum_error_on_target(entangling_error_on_target, [\"cx\", \"ls\", \"ms\"])\n", - "noise_model.add_nonlocal_quantum_error_on_control(entangling_error_on_control, [\"csum\", \"cx\", \"ls\", \"ms\"])\n", - "# Super noisy Entangling gates\n", - "noise_model.add_nonlocal_quantum_error(entangling_error_extra, [\"csum\"])\n", - "# Local Gates\n", - "noise_model.add_quantum_error_locally(local_error, [\"h\", \"rxy\", \"s\", \"x\", \"z\"])\n", - "noise_model.add_quantum_error_locally(local_error_rz, [\"rz\", \"virtrz\"])\n", - "\n", - "print(noise_model.quantum_errors)" - ] - }, - { - "cell_type": "markdown", - "id": "7e2effb3", - "metadata": {}, - "source": [ - "##### We can set the noise model for the simulation, but also set several other flags:\n", - "- shots : number of shots for the stochatsic simulation\n", - "- memory : flag for saving shots (True/False)\n", - "- full_state_memory: save the full noisy states \n", - "- file_path: file path of the h5 database storing the data#\n", - "- file_name" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "505715d1", - "metadata": {}, - "outputs": [], - "source": [ - "backend = provider.get_backend(\"tnsim\")\n", - "\n", - "job = backend.run(circuit, noise_model=noise_model)\n", - "\n", - "result = job.result()\n", - "counts = result.get_counts()\n", - "\n", - "plot_counts(counts, circuit)" - ] - }, - { - "cell_type": "markdown", - "id": "2a9ebf27", - "metadata": {}, - "source": [ - "## Fakebackends\n", - "#### You can invoke also a fake banckend a retrieve a few relevant properties, that already embedded in them" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f8a44ca3", - "metadata": {}, - "outputs": [], - "source": [ - "provider = MQTQuditProvider()\n", - "provider.backends(\"fake\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3f8d02e3", - "metadata": {}, - "outputs": [], - "source": [ - "backend_ion = provider.get_backend(\"faketraps2trits\", shots=1000)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "792435eb", - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "import networkx as nx\n", - "\n", - "mapping = backend_ion.energy_level_graphs\n", - "\n", - "pos = nx.circular_layout(mapping[0])\n", - "nx.draw(mapping[0], pos, with_labels=True, node_size=2000, node_color=\"lightblue\", font_size=12, font_weight=\"bold\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0d712293", - "metadata": {}, - "outputs": [], - "source": [ - "job = backend_ion.run(circuit)\n", - "result = job.result()\n", - "counts = result.get_counts()\n", - "\n", - "plot_counts(counts, circuit)" - ] - }, - { - "cell_type": "markdown", - "id": "0a132d35", - "metadata": {}, - "source": [ - "## Compilation ⚙️\n", - "\n", - "Tailor your quantum compilation process to achieve optimal performance and emulate the intricacies of experimental setups.\n", - "\n", - "#### Compiler Customization with Modern Passes\n", - "\n", - "1. **Optimization Strategies:** Implement specific optimization strategies based on your quantum algorithm's characteristics. Fine-tune compilation for better resource utilization and reduced gate counts.\n", - "\n", - "2. **Gate Decomposition:** Customize gate decomposition techniques to match the capabilities of experimental quantum hardware. Aligning with the native gate set enhances the efficiency of your compiled circuits.\n", - "\n", - "##### Experimental-Inspired Compilation\n", - "\n", - "Emulate the features of the best experimental laboratories in your compilation process. Leverage modern compiler passes to customize optimization, gate decomposition, and noise-aware strategies, creating compiled circuits that closely resemble the challenges and advantages of cutting-edge quantum hardware.\n", - "\n", - "Customize, compile, and push the boundaries of quantum algorithms with a tailored approach to quantum compilation. 🛠️🔧🚀\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8e187e94", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.compiler.dit_manager import QuditCompiler" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "58daadf2", - "metadata": {}, - "outputs": [], - "source": [ - "qudit_compiler = QuditCompiler()\n", - "\n", - "passes = [\"PhyLocQRPass\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d21fe400", - "metadata": {}, - "outputs": [], - "source": [ - "compiled_circuit_qr = qudit_compiler.compile(backend_ion, circuit, passes)\n", - "\n", - "print(\n", - " f\"\\n Number of operations: {len(compiled_circuit_qr.instructions)}, \\n Number of qudits in the circuit: {compiled_circuit_qr.num_qudits}\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "85b295ef", - "metadata": {}, - "outputs": [], - "source": [ - "job = backend_ion.run(compiled_circuit_qr)\n", - "\n", - "result = job.result()\n", - "counts = result.get_counts()\n", - "\n", - "plot_counts(counts, compiled_circuit_qr)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a1b22b44", - "metadata": {}, - "outputs": [], - "source": [ - "passes = [\"PhyLocAdaPass\", \"ZPropagationPass\", \"ZRemovalPass\"]\n", - "\n", - "compiled_circuit_ada = qudit_compiler.compile(backend_ion, circuit, passes)\n", - "\n", - "print(\n", - " f\"\\n Number of operations: {len(compiled_circuit_ada.instructions)}, \\n Number of qudits in the circuit: {compiled_circuit_ada.num_qudits}\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5a807930", - "metadata": {}, - "outputs": [], - "source": [ - "job = backend_ion.run(compiled_circuit_ada)\n", - "\n", - "result = job.result()\n", - "counts = result.get_counts()\n", - "\n", - "plot_counts(counts, compiled_circuit_ada)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/MQT_Qudits_Tutorial/MQT Qudits Tutorial.ipynb b/MQT_Qudits_Tutorial/MQT Qudits Tutorial.ipynb deleted file mode 100644 index c114e30..0000000 --- a/MQT_Qudits_Tutorial/MQT Qudits Tutorial.ipynb +++ /dev/null @@ -1,844 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "53702878", - "metadata": {}, - "source": [ - "# MQT Qudits 🌌\n", - "*Discover a New Dimension in Quantum Computing*\n", - "\n", - "Embark on a journey with MQT Qudits, a framework for Mixed-Dimensional Quantum Computing.\n", - "\n", - "
\n", - "Delve into the realm of mixed-dimensional quantum computing with NeQST—a project funded by the European Union \n", - "and developed at the Chair for Design Automation at \n", - "the Technical University of Munich, \n", - "as part of the Munich Quantum Toolkit.
\n", - "Our team is focused on creating design automation methods and software for quDit-based systems.\n", - "Explore our Jupyter file to discover the initial tools and contributions we've made to advance Quantum Information Processing for Science and Technology.\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "2fe4da30-157a-4f48-83e4-b5f395a5d443", - "metadata": {}, - "source": [ - "
\n", - " \"Logo\n", - "
\n" - ] - }, - { - "cell_type": "markdown", - "id": "e3f8addb", - "metadata": {}, - "source": [ - "## Installation steps:\n", - "\n", - "#### mqt.qudits is available via PyPI for all major operating systems and supports Python 3.8 to 3.12.\n", - "\n", - "```\n", - "!pip install mqt.qudits\n", - "```\n" - ] - }, - { - "cell_type": "markdown", - "id": "bfe14179", - "metadata": {}, - "source": [ - "# User Inputs 💻\n", - "\n", - "🚀 **New QASM Extension:**\n", - "Dive into a language meticulously designed to express quantum algorithms and circuits. MQT extends the openQASM 2.0 grammar, effortlessly adapting to registers that feature a harmonious mix of qudits and qubits in diverse combinations. \n", - "\n", - "🐍 **Python Interface** \n", - "\n", - "Constructing and manipulating quantum programs becomes a breeze with Python. You have the flexibility to:\n", - "\n", - "1. **Initialize Quantum Circuits:** Start by creating your quantum circuits effortlessly.\n", - "\n", - "2. **Create Quantum Registers:** Build dedicated quantum registers tailored to your needs.\n", - "\n", - "3. **Compose Circuits:** Seamlessly bring together your quantum registers, forming a unified and powerful circuit.\n", - "\n", - "4. **Apply Operations:** Easily apply a variety of qudit operations, without worrying about the right representation. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "08648c55", - "metadata": {}, - "source": [ - "
\n", - " \"2dqed.png\"\n", - "
\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c248f22a", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "\n", - "from mqt.qudits.quantum_circuit import QuantumCircuit" - ] - }, - { - "cell_type": "markdown", - "id": "2a47bfc3", - "metadata": {}, - "source": [ - "After the import of the quantum circuit object, it is possible starting from a __DITQASM__ program to automatically create a circuit and manipulate it, if not simulate it or compile it to a more suitable gate-set for the machine.\n", - "In the next cell the program is explicitly written, although several methods for importing programs from files are present in the library." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5274efd5", - "metadata": {}, - "outputs": [], - "source": [ - "qasm = \"\"\"\n", - " DITQASM 2.0;\n", - " \n", - " qreg field [7][5,5,5,5,5,5,5];\n", - " qreg matter [2];\n", - " \n", - " creg meas_matter[7];\n", - " creg meas_fields[3];\n", - " \n", - " h matter[0] ctl field[0] field[1] [0,0];\n", - " cx field[2], matter[0];\n", - " cx field[2], matter[1];\n", - " rxy (0, 1, pi, pi/2) field[3];\n", - " \n", - " measure q[0] -> meas[0];\n", - " measure q[1] -> meas[1];\n", - " measure q[2] -> meas[2];\n", - " \"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "e718e589", - "metadata": {}, - "source": [ - "A new feature is the __control syntax__: _operation_ __ctl__ _quditline_ \\[list of qudit control levels\\]\n", - "
\n", - "We can import the QASM program and construct a quantum circuit.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "356d82c2", - "metadata": {}, - "outputs": [], - "source": [ - "circuit = QuantumCircuit()\n", - "circuit.from_qasm(qasm)\n", - "\n", - "print(f\"\\n Number of operations: {len(circuit.instructions)}, \\n Number of qudits in the circuit: {circuit.num_qudits}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4d2b2cf2", - "metadata": {}, - "outputs": [], - "source": [ - "circuit.dimensions" - ] - }, - { - "cell_type": "markdown", - "id": "101de68e", - "metadata": {}, - "source": [ - "##### Let's construct a quantum circuit from scratch, with the python interface.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9a283781", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.quantum_circuit.components.quantum_register import QuantumRegister\n", - "\n", - "circuit = QuantumCircuit()\n", - "\n", - "field_reg = QuantumRegister(\"fields\", 1, [7])\n", - "matter_reg = QuantumRegister(\"matter\", 1, [2])\n", - "\n", - "circuit.append(field_reg)\n", - "circuit.append(matter_reg)\n", - "\n", - "print(f\"\\n Number of operations: {len(circuit.instructions)}, \\n Number of qudits in the circuit: {circuit.num_qudits}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "192d09b0", - "metadata": {}, - "outputs": [], - "source": [ - "circuit.gate_set" - ] - }, - { - "cell_type": "markdown", - "id": "a23644c5", - "metadata": {}, - "source": [ - "##### No operations were inserted yet, let's take a look at how operations can be applied!" - ] - }, - { - "cell_type": "markdown", - "id": "2dd17aed", - "metadata": {}, - "source": [ - "The size of every line is detected automatically and the right operations are applied to the right qudits" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0ed0c548", - "metadata": {}, - "outputs": [], - "source": [ - "h = circuit.h(field_reg[0])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "22bd7e9b", - "metadata": {}, - "outputs": [], - "source": [ - "csum = circuit.csum([field_reg[0], matter_reg[0]])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bc8489ec", - "metadata": {}, - "outputs": [], - "source": [ - "print(f\"\\n Number of operations: {len(circuit.instructions)}, \\n Number of qudits in the circuit: {circuit.num_qudits}\")" - ] - }, - { - "cell_type": "markdown", - "id": "52b43bbf", - "metadata": {}, - "source": [ - "\n", - "##### It is possible to export the code as well and share your program in a QASM file.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b79ad7c3", - "metadata": {}, - "outputs": [], - "source": [ - "print(circuit.to_qasm())" - ] - }, - { - "cell_type": "markdown", - "id": "e6c76f81", - "metadata": {}, - "source": [ - "#### Let's save the circuit to file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a6e17342", - "metadata": {}, - "outputs": [], - "source": [ - "circuit.save_to_file(\"my_circuit\", \"/home/k3vn/Desktop\")" - ] - }, - { - "cell_type": "markdown", - "id": "9e47c69a", - "metadata": {}, - "source": [ - "#### Load from file" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c6f66e02", - "metadata": {}, - "outputs": [], - "source": [ - "circuit.load_from_file(\"/home/k3vn/Desktop/my_circuit.qasm\")\n", - "\n", - "print(\"Program:\\n\\n\", circuit.to_qasm())\n", - "print(\"Dimensions: \", circuit.dimensions)" - ] - }, - { - "cell_type": "markdown", - "id": "4d59b4c7", - "metadata": {}, - "source": [ - "### Custom gates" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cf9b9720", - "metadata": {}, - "outputs": [], - "source": [ - "n = 5\n", - "random_matrix = np.random.randn(n, n) + 1j * np.random.randn(n, n)\n", - "\n", - "Q, R = np.linalg.qr(random_matrix)\n", - "\n", - "unitary_matrix = Q\n", - "cu = circuit.cu_one(field_reg[0], unitary_matrix)" - ] - }, - { - "cell_type": "markdown", - "id": "25105c05", - "metadata": {}, - "source": [ - "##### Gates follow the order:\n", - "- target qudit/s : list or single number\n", - "- parameters lis with order lower level, upper level, control level, theta, phi\n", - "- control data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f9dcf9b4", - "metadata": {}, - "outputs": [], - "source": [ - "r = circuit.r(field_reg[0], [0, 1, np.pi / 5, np.pi / 7])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "43221ade", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.qudit_circuits.components.instructions.gate_extensions.controls import ControlData\n", - "\n", - "r_c1 = circuit.r(field_reg[0], [0, 1, np.pi / 5, np.pi / 7], ControlData([matter_reg[0]], [1]))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "480417f5", - "metadata": {}, - "outputs": [], - "source": [ - "r_c2 = circuit.r(field_reg[0], [0, 1, np.pi / 5, np.pi / 7]).control([matter_reg[0]], [1])" - ] - }, - { - "cell_type": "markdown", - "id": "b2f8b1f6", - "metadata": {}, - "source": [ - "##### Representation of the matrix is dynamic:\n", - "- 0: no identities\n", - "- 1: identities in between long-range gates are introduced\n", - "- 2: full circuit unitary" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "20f638dc", - "metadata": {}, - "outputs": [], - "source": [ - "print(r._name)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "effbb9a5", - "metadata": {}, - "outputs": [], - "source": [ - "r.to_matrix()" - ] - }, - { - "cell_type": "markdown", - "id": "a030d94b", - "metadata": {}, - "source": [ - "##### you can dagger a gate anytime\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "720bb90b", - "metadata": {}, - "outputs": [], - "source": [ - "rd = r.dag()\n", - "print(rd._name)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f42f7ec4", - "metadata": {}, - "outputs": [], - "source": [ - "rd.to_matrix()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8695a95e", - "metadata": {}, - "outputs": [], - "source": [ - "r_c1.control_info" - ] - }, - { - "cell_type": "markdown", - "id": "b74cc7f8", - "metadata": {}, - "source": [ - "##### Two and Multi qudits gates follow the rule:\n", - "- two : target_qudits first is control, second is target\n", - "- multi: all are controls, except last one is target" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bc118b90", - "metadata": {}, - "outputs": [], - "source": [ - "r_c1.reference_lines" - ] - }, - { - "cell_type": "markdown", - "id": "d67f883c", - "metadata": {}, - "source": [ - "# Simulation 🚀\n", - "\n", - "After crafting your quantum circuit with precision, take it for a spin using two distinct engines, each flaunting its unique set of data structures.\n", - "\n", - "- **External Tensor-Network Simulator:** Delve into the quantum realm with a robust external tensor-network simulator. Can simulate all the gate-set.\n", - "\n", - "- **MiSiM (C++-Powered):** Unleash the power of decision-diagram-based simulation with MiSiM, seamlessly interfaced with Python for a fluid and efficient experience. 🌐💡 Can simulate only the machine set." - ] - }, - { - "cell_type": "markdown", - "id": "13fa1ac7", - "metadata": {}, - "source": [ - "#### Supported by MISIM now:\n", - "csum\n", - "cx\n", - "h\n", - "rxy\n", - "rz\n", - "virtrz\n", - "s\n", - "x\n", - "z\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "39904844", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.quantum_circuit.components.quantum_register import QuantumRegister\n", - "\n", - "circuit = QuantumCircuit()\n", - "\n", - "field_reg = QuantumRegister(\"fields\", 1, [3])\n", - "matter_reg = QuantumRegister(\"matter\", 1, [3])\n", - "\n", - "circuit.append(field_reg)\n", - "circuit.append(matter_reg)\n", - "\n", - "h = circuit.h(field_reg[0])\n", - "csum = circuit.csum([field_reg[0], matter_reg[0]])\n", - "\n", - "print(f\"\\n Number of operations: {len(circuit.instructions)}, \\n Number of qudits in the circuit: {circuit.num_qudits}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "13be385f", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.simulation import MQTQuditProvider\n", - "\n", - "provider = MQTQuditProvider()\n", - "provider.backends(\"sim\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ab6d2c80", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.visualisation.plot_information import plot_counts, plot_state\n", - "\n", - "backend = provider.get_backend(\"tnsim\")\n", - "\n", - "job = backend.run(circuit)\n", - "result = job.result()\n", - "\n", - "state_vector = result.get_state_vector()\n", - "\n", - "plot_state(state_vector, circuit)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e18653e8", - "metadata": {}, - "outputs": [], - "source": [ - "backend = provider.get_backend(\"misim\")\n", - "\n", - "job = backend.run(circuit)\n", - "result = job.result()\n", - "\n", - "state_vector = result.get_state_vector()\n", - "\n", - "plot_state(state_vector, circuit)" - ] - }, - { - "cell_type": "markdown", - "id": "63baa60f", - "metadata": {}, - "source": [ - "### Extending Engines with Noise Model and Properties for FakeBackend\n", - "\n", - "Enhance your quantum simulation experience by extending the engines with a noise model and incorporating various properties. This process allows you to create a FakeBackend, inspired by the best machines in experimental laboratories.\n", - "\n", - "#### Noise Model Integration\n", - "\n", - "Introduce realism into your simulations by incorporating a noise model. Simulate the effects of environmental factors and imperfections, bringing your quantum algorithms closer to real-world scenarios.\n", - "\n", - "\n", - "#### Creating a FakeBackend\n", - "\n", - "By combining a noise model and carefully tuned properties, you can craft a FakeBackend that closely emulates the performance of the best quantum machines in experimental laboratories. This allows for more realistic and insightful quantum simulations.\n", - "\n", - "Experiment, iterate, and simulate quantum circuits with the sophistication of real-world conditions, all within the controlled environment of your simulation. 🛠️🔬\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7ddd23dc", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.simulation.noise_tools import Noise, NoiseModel\n", - "\n", - "# Depolarizing quantum errors\n", - "local_error = Noise(probability_depolarizing=0.001, probability_dephasing=0.001)\n", - "local_error_rz = Noise(probability_depolarizing=0.03, probability_dephasing=0.03)\n", - "\n", - "entangling_error = Noise(probability_depolarizing=0.1, probability_dephasing=0.001)\n", - "entangling_error_extra = Noise(probability_depolarizing=0.1, probability_dephasing=0.1)\n", - "\n", - "entangling_error_on_target = Noise(probability_depolarizing=0.1, probability_dephasing=0.0)\n", - "entangling_error_on_control = Noise(probability_depolarizing=0.01, probability_dephasing=0.0)\n", - "\n", - "# Add errors to noise_tools model\n", - "\n", - "noise_model = NoiseModel() # We know that the architecture is only two qudits\n", - "# Very noisy gate\n", - "noise_model.add_all_qudit_quantum_error(local_error, [\"csum\"])\n", - "noise_model.add_recurrent_quantum_error_locally(local_error, [\"csum\"], [0])\n", - "# Entangling gates\n", - "noise_model.add_nonlocal_quantum_error(entangling_error, [\"cx\", \"ls\", \"ms\"])\n", - "noise_model.add_nonlocal_quantum_error_on_target(entangling_error_on_target, [\"cx\", \"ls\", \"ms\"])\n", - "noise_model.add_nonlocal_quantum_error_on_control(entangling_error_on_control, [\"csum\", \"cx\", \"ls\", \"ms\"])\n", - "# Super noisy Entangling gates\n", - "noise_model.add_nonlocal_quantum_error(entangling_error_extra, [\"csum\"])\n", - "# Local Gates\n", - "noise_model.add_quantum_error_locally(local_error, [\"h\", \"rxy\", \"s\", \"x\", \"z\"])\n", - "noise_model.add_quantum_error_locally(local_error_rz, [\"rz\", \"virtrz\"])\n", - "\n", - "print(noise_model.quantum_errors)" - ] - }, - { - "cell_type": "markdown", - "id": "7e2effb3", - "metadata": {}, - "source": [ - "##### We can set the noise model for the simulation, but also set several other flags:\n", - "- shots : number of shots for the stochatsic simulation\n", - "- memory : flag for saving shots (True/False)\n", - "- full_state_memory: save the full noisy states \n", - "- file_path: file path of the h5 database storing the data#\n", - "- file_name" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "505715d1", - "metadata": {}, - "outputs": [], - "source": [ - "backend = provider.get_backend(\"tnsim\")\n", - "\n", - "job = backend.run(circuit, noise_model=noise_model)\n", - "\n", - "result = job.result()\n", - "counts = result.get_counts()\n", - "\n", - "plot_counts(counts, circuit)" - ] - }, - { - "cell_type": "markdown", - "id": "2a9ebf27", - "metadata": {}, - "source": [ - "## Fakebackends\n", - "#### You can invoke also a fake banckend a retrieve a few relevant properties, that already embedded in them" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f8a44ca3", - "metadata": {}, - "outputs": [], - "source": [ - "provider = MQTQuditProvider()\n", - "provider.backends(\"fake\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3f8d02e3", - "metadata": {}, - "outputs": [], - "source": [ - "backend_ion = provider.get_backend(\"faketraps2trits\", shots=1000)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "792435eb", - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "import networkx as nx\n", - "\n", - "mapping = backend_ion.energy_level_graphs\n", - "\n", - "pos = nx.circular_layout(mapping[0])\n", - "nx.draw(mapping[0], pos, with_labels=True, node_size=2000, node_color=\"lightblue\", font_size=12, font_weight=\"bold\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0d712293", - "metadata": {}, - "outputs": [], - "source": [ - "job = backend_ion.run(circuit)\n", - "result = job.result()\n", - "counts = result.get_counts()\n", - "\n", - "plot_counts(counts, circuit)" - ] - }, - { - "cell_type": "markdown", - "id": "0a132d35", - "metadata": {}, - "source": [ - "## Compilation ⚙️\n", - "\n", - "Tailor your quantum compilation process to achieve optimal performance and emulate the intricacies of experimental setups.\n", - "\n", - "#### Compiler Customization with Modern Passes\n", - "\n", - "1. **Optimization Strategies:** Implement specific optimization strategies based on your quantum algorithm's characteristics. Fine-tune compilation for better resource utilization and reduced gate counts.\n", - "\n", - "2. **Gate Decomposition:** Customize gate decomposition techniques to match the capabilities of experimental quantum hardware. Aligning with the native gate set enhances the efficiency of your compiled circuits.\n", - "\n", - "##### Experimental-Inspired Compilation\n", - "\n", - "Emulate the features of the best experimental laboratories in your compilation process. Leverage modern compiler passes to customize optimization, gate decomposition, and noise-aware strategies, creating compiled circuits that closely resemble the challenges and advantages of cutting-edge quantum hardware.\n", - "\n", - "Customize, compile, and push the boundaries of quantum algorithms with a tailored approach to quantum compilation. 🛠️🔧🚀\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8e187e94", - "metadata": {}, - "outputs": [], - "source": [ - "from mqt.qudits.compiler.dit_manager import QuditCompiler" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "58daadf2", - "metadata": {}, - "outputs": [], - "source": [ - "qudit_compiler = QuditCompiler()\n", - "\n", - "passes = [\"PhyLocQRPass\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d21fe400", - "metadata": {}, - "outputs": [], - "source": [ - "compiled_circuit_qr = qudit_compiler.compile(backend_ion, circuit, passes)\n", - "\n", - "print(\n", - " f\"\\n Number of operations: {len(compiled_circuit_qr.instructions)}, \\n Number of qudits in the circuit: {compiled_circuit_qr.num_qudits}\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "85b295ef", - "metadata": {}, - "outputs": [], - "source": [ - "job = backend_ion.run(compiled_circuit_qr)\n", - "\n", - "result = job.result()\n", - "counts = result.get_counts()\n", - "\n", - "plot_counts(counts, compiled_circuit_qr)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a1b22b44", - "metadata": {}, - "outputs": [], - "source": [ - "passes = [\"PhyLocAdaPass\", \"ZPropagationPass\", \"ZRemovalPass\"]\n", - "\n", - "compiled_circuit_ada = qudit_compiler.compile(backend_ion, circuit, passes)\n", - "\n", - "print(\n", - " f\"\\n Number of operations: {len(compiled_circuit_ada.instructions)}, \\n Number of qudits in the circuit: {compiled_circuit_ada.num_qudits}\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5a807930", - "metadata": {}, - "outputs": [], - "source": [ - "job = backend_ion.run(compiled_circuit_ada)\n", - "\n", - "result = job.result()\n", - "counts = result.get_counts()\n", - "\n", - "plot_counts(counts, compiled_circuit_ada)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "venv", - "language": "python", - "name": "venv" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/MQT_Qudits_Tutorial/foot.png b/MQT_Qudits_Tutorial/foot.png deleted file mode 100644 index 30d646e51c16db4d02e66219e46ddd0da2c80951..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19695 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 - - + + - + - + - +

diff --git a/docs/_static/eu_funded_dark.svg b/docs/_static/eu_funded_dark.svg new file mode 100644 index 0000000..f2069e9 --- /dev/null +++ b/docs/_static/eu_funded_dark.svg @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/_static/eu_funded_light.svg b/docs/_static/eu_funded_light.svg new file mode 100644 index 0000000..f34e5a2 --- /dev/null +++ b/docs/_static/eu_funded_light.svg @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/_static/foot.png b/docs/_static/foot.png deleted file mode 100644 index 30d646e51c16db4d02e66219e46ddd0da2c80951..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19695 zcmYhj1yEdF6D>-F4|jKhJHdkocXubi;OhxaV%U1_M31w*D@`N@D z2ENB}6j66nvN3ja`DG7+FtN6=0?|7d+JivW4yHDa7hgL0fSaiQ-6UiW`sHY5V@<4V zW(9%}HX~;FPAvJ$nwa@JGb=F@2Nx?R7aJ3?kcjdqu^1@?1Tln!uz<2_+G)CrBl_G% zQ07v~x;Qxu3^_7%yZD8OLYE*~^+%sBvWEaVoPoekdAHn2ltJa43=w>lasR5<6z?S^nC2VyOemeCd}{uTs@u0bNpTqu>b!R9!TPd z{(r9bdMZINf&X1wdf@-(Y18+kFY@y8MYtLXOt|6bSXi-XX~KenpY7}lC8VUtX=&m7 zyMK%3c8`vNySjd+aM;MYy8fWotm_*bgrcORWX0Vxsj%Id+IvFyxc#P$hFjnDjMajI zys1}sR;EhJ(Rqc3HMT6uRfFemm>F(<$r(?Z<=5jB+;6be7eYlsie$SjjDB@>6&D|` z!nsZn5VO>1Lj>VRjEs#fE-d_Yt;MO(?Z_yh!akB1n*T2#oP zXXj?w5=5n@j&ApZms*_Qo}QlKBNU32A75T(njK91{QWuIZ>fS132Hjms}05KH0dej zGWtwe6IN7X$Ye7kb^@^qrt2-#C}dKEGx@yai)X{1JN_;6yV<|jzC<$kj{SJQB2uPV z4;wqIe9p$m$k^g|BnjMmI9rVN{{DXNiYE~h92Qm=X|+^?0f*)7t6D0O0FsoH{NeS? z3WX?ae>nAPA}vG=UBpOZe<+$1pW8XCs_MJ0&l`efqjfkjw9m>$l&dzkqzF*~c89~%*j>l0)X3Z`8VM7XZ&CSK1 zueHvUYjH?QNri;-_N(c6^$*8V`buGD%<$Zd&G5Wl_J$E~Pjs{cq1Dp~BXUSZ^*XLz zt~y_?HTwE=Gpb=HC?tf#?Tl|Y5GGK$pw`?@CQ+u-n(+6pA_SMqx%9=l7YzX|^k)VJ zhTB6sw6)d;;&0!4Grgaq)45#?s@17zXbj$8pH5esW0P4-wogtLs%-9IjW%P}hDb(+ zh7M;jXtjfD!l*_}=V%ykQYuy(dR!$$<3=JIgPCjSa%Ys&^!}5^gaMO%Bi_tX$yR`2 zn{Xq?oTiYjH}6L+$g*wEot;*Yf5bx(iH3yZGdW*vc8(^6{@fcBxd~?MFnWEwnhVAM z9TS7vV6|fG<2g!CYO%Wi*Sn{uCyDQk-gv?j3keCSiy|$8h<~EaY(`u{qIl*-g7Lee zWzGDL38VPnahhs=?_XB{%;Q$WWXCDIC!*iH2+UhO!fYCjNWcJ2O@@wi78qy#rQ-bulgD#0%j?U-#) zpp`6QaD1$8Y$H{6o%AnqiT)Q|9KXI}yFRQXm#J5O2KRsd-Py^X>C^H1-x}`isg$}o zU#yGh>JmZ#>kf~{UM4%3J#&Q3*-Vu|8bB z&8Xe>FbXlr4HOZ)Aq~V9IE$!>qc%)S!HOdJQBhh0$3>R*QsWI*%waF*KQ1g~f0hYr zq;cBlJ1MhcNz&gRIFs+za?#+$x;{1ig$s9lwMCM9w};IY$x$nU`j!z<2A;_NX#3LE z@NM0j$4(=^EMlY}YfSN%kE+D>!{W`U?3kFS0v9ao0(a=tzfD6HiH_t;8Bd_sI=%X_ zwYBAWzogyba-n;oudk7?RJCO#g`eN&Ru75NIs23HMjfSrIMvdGQ^^RH^>PB64hRY-gG!GFBvAFW5rvW-7*%&R`BRZ$zCac06HGy8r=p zYaE5%ZrVZ~=CfvfDB`CIe6M1pk9sCukZS*CJx87y&o_XHWsdtLKj|jFj}X19bxu zTCH3^H$)0Zhc9g_iDyefd!|N(J+(_^eE_Xpjad*&+hF^ zL1(GVc@vT7qo^!o$0~}Jeh!y^Agvwwj9GjSM^+Ef!j)Dl6^!+8BbUkjFa5BRTwN7D zz1}?CC#B7ouUu{g5zUt}SJREAaXF3fsR2pf&cVSVYNrlT7-`Um`TD3Z(|{E>B$R6c z*sCP=GsxNFV@Q#tNR~j5>VUUL*hc1IL{M%5%m&dQ$%yb{tL=5@&)w&og_6gUrBqjk z9URP4*?oCQ6s?TIKlPX{&4*zI5TALE_xD>52C48XQI%8`a)yk^dp7cA9jIp`pjzhM z8;t72PdQB}vVW?bSS>$G-Xavg@x@Fe)=;Vlh1@;UbY@|G<#NY6LeYGHoS9~&g<>&h zbkuCpI>amK7Eo*aoC~uAIvt-+@+r)>e$CY6}&k$*&rnCl97`(X3AWh{*RH8;Ne621>&G&Sr__usc!FJV`KKB>0Xfk zk@PcDC~Bk?X}#?k%#>#K{ImWe!)A!C{NEtP>g&?n00R9$WzClyT%HCtmy5oDY>xA z%kX(???|KY?e%_;Fk)Z3=_+7iR)w3>X>MDZc8F)?3EyUwzal#V?swWM&$*sMfTz$C zQeI&rDVXS?w^btczcoEWCFAe5wu8=!Bo79%vH>?5!3m)n1Q4pRFtFFvMtKH5P$jnZ z@A{q}b1bG)sy_K2&6c{fYZJwP8)cR#F7|8%A*D|4p=cR(>leG;R0SJLN*klXZAOME zc7zUR2ZH~2e`1h6T*~;w+mbV*qOB1hmvFsX>A|U^c!N+}ZFX=l9?~gs`1-hmgwO8{ zUxjh!u@lY#gMd)};Hg?Vr+bN%WwB7P;2w-2UpmM0a_RtpJ2W&jf2z>2WR@TiFo~^8 zC6{-9uf%9x#U~^56jzHG9Ml_lo@L4;lm7y$Nck#z9*qeRjWAP&IMhdAkTe=#U<4ps zg02$_rLM&aRj=;)?j7NrO^#C*C0QCP_NVy-cp7q|h>$>+*HQZz<~!Kss5xXic}j_; z3panG_HUbLtP8WoMwZc**v^#%1h$^DCIkzI^vO2lubv_iDOifu6rLSV{_5}Tl1t=d zjj0P9qT>a+b8x@5MuU?5UOgkuRt2svPO1wEiBrdC*|?OLQ;B&oltj6vp&snH@*sb? z$dKiDAn_a*)l}x?!q6XTcpU#Op>>Ql*j7W63>^;{@tmOmE=wHRcQcVqrLetX^QB6oWbwo`o&(H9uB7Q z$0oJ1gh2aXS%WXDiBzJeNBpH^qta})3q82w93*sf#Ha50O4s85l`v8N{zG&Pvh}5^ zOp*5vRybJmA~PFPBMpk$mNquI62>$-zW}=v>V!ZYXui*K! zaw_JY9YTbdr({`Iv+FDCs*OSHdAFnl z^Lge!w!-vIxQAD4$hiQX=cYsT`=6AeJ`Mpuk~b7j;t*P4{YJi_T1(lw*mp+YX?8aA zT~+a4O*x(_pbjzZ0zv>eZUm zIPCm^mHAfMYsr4I#hCiED?UylMh;!1BAB0lSt*>br5zF|heWQRZGYBX$U(!&$!WP% z)Bo<;6A;2`2ElRiZxuc~TwRryzm#SpfAwv>$S}fEA}1#=({8R&UEwlSQ88xH=@}R3 z-S*(Nvw0}Mm!jQ%VzcwC*}-3D(8S!>i00;gRzYTuAI28=9c|_Hc(fkz%*kF6Zkt2X|W1sgh^j1dM7rQ`ZB{C1)|A|X}odywdbEs&8$gHRhubGo>G&RDbu~O3)t$(Qg)MM} z-M8OQsM5Qx8Km6I6hnsc*83q~e^xsAxv1R>CixYafpE{zJ|>cY+-Hr^s8VMFK*$Lm z7nSU_2SA~QyYE+_wr_cAxm^C;;An{>DF3_Di$NoSnx3AVmo~NUR@yr(3}k4|M6ULg zA*l5vd8*K%`6(?8KiO;JOufHlK`FV>4vUD0X2VB<9GYk9Ta-u8efh1ZG6AmBj;eB% zW_g)j=fu0~c3(*Sv5*rRv;KGRZbFj8Fh`84zR^mi*jc3sI(GBP2T8TLr5)Yp&*zA^ z+PCIyX?2fHhnFrhXonSr$%Ulv*6uv`Z1M9^#jpa%*sP|=z%Bw*LhQ|f!w>J*A77vl z+j#zj8szlw%!Q#;HMiczvu?D-wBU1SqZ6xGl0a{s7j>^yA7A(pFaC8YP1gfTz@IFI zif11XUQ)e13lT5#C#=K|+47K>Z3FL*XDQhCMF>ndzpS3=!AQcl=R`cpP!cBEgjqLl zfs3E63+G>1=^2To;NXU_ApCt-^%AQz&~e^|a^qXr0gj^7nP^+yTI3`&R~j2 zAUZw)wrLioRfZO8xz2oe$oK6>Y*Jqt+loe_^3PJD2j5(02cF?=%X7^CmSX_sZfRaaWdO1bP|?Qz zp1?IH1Z#mZ(k4dv*XM;{eh~Eim-xnstmmr^fZRH~Ud|$0ozFC_EF-9f$qw+AoVgOM zuH0U|uX)J#N9UOYAo$gIb5~waw=M*aCw|Hr6MQ13tAgR@TR@@|){|F@h9j@t7Ooi5Gps83nw76A+&XLntX1@!|=?j z9;BWb4VZC4LPKl#0lq{IvNVNkbT>hB(e|1r^Foq>enUK?J4`g6WNaa1etiPobWdUf zGo$XxZa}26q4gKLgwBtr1$T&5{MkCIW8K`MI8an{bue?X2t`Bz=GEX4j{!3{WSn8E zo!-RF`6o2uatZAytlwqkc$Sj9eAAT~a`w!$5Lox5?@!*V{p28KN^-3=R4pNHP^-sI ze$V^N?t$Ls<#lE>+_eSas|)ey5cM#=MtvIl8Oca_SM4=}ynY2X?M!({#=gK^BkHSR9010Fu)c7`{#IM@S&HmB`nG`8fknz*P#px&t95Y7@MH>r$OI{n~3C9rzAZ0 z>bA|&Y;<_InghBVF;x_G%HpeFJ3h>v{ceS?!@1QamCzak?B)%qABWD+&ysw(EJxNHCxyOUfBUv9@! zx>e8$Pd)jnk?>vkocwv{7uQ|W@Vn=)knF#jf!-0Cw=Dyc;?Eoa5gOL5-+EL!XYT3g zg+iX3YbG-GOd3sa<%W)1{?&tvIVYTB65dp_QQrlhwL}vn?&hY`(6G0=tF2TP7ON^_ zp=YA0H(jNe07_ugn*e$p2yCWp;|$mB5c7kOhzR5TF&7BaI!Yit3X*`ymr|+qy7Wv*%Eq{&(7!x9CoZ|iUM(z(1k)6zW zS6m$Wm@!MaW_`&6J^%`gafJ`jQ_JgMZx5oKJLrNZ7}P#BPLW*APpG>$z>$`T-27S8 zNvEcz-4P$7mZdPU|3RPFC-`M4-xwa3a#ocz0~gwPZic?gpCQ}V(S|4@veBh{pB*M``(hRwyEnM@L5x z_kYR~b%CCi05|;4HzAsVnYljzjkxZ4gOK62zrWz&_ngULZS9lkA%re+kIy;5;X?qDGlszdZL0`01>S!k?j@_IYD>rF znmMkyrBS}P>?XXom*|v#O5<@xSNgleMUW_&pL4MbwV0ePYc>|58A70A%fhvG13^gW z1kR?G3MOUXN;&tkl)-6V)0r+(#!wuMJkS~%Wi-7UDElBcFf=^-pv1d_*RYM^@sGFV zHz91Ijw*a+>+Kg%(&0=pw{vppUt3G>5nOq=2dG{SZPlF+G=iblvhnN;@s_DGzyCiIEwb)z3;#PlNO*YJYAj7Q1Ji6F%jBJRMx!)_%h>VJ_ zd}Kaq$?ov{fG{+N{$86R6P%;IC5W?FhSRI(l}eyDmg~AvL9?a{gyBXTr2mF%;wBBQ zpk_FRKbSF_W{A@6gOJPlB0{z>x407Nmo=9G+(=UUXBz)#^m#Ua1XoA z|IwDjebH7szqUF$GU9sC?lL?)ymj7sQIQC_TRlivsUNu1WcQ`kcw8_6wA^4dTBbpy z`iQ`4{M{KynJmU_{fTCT? zsu5PWwUfo?(=HBKS=h+zmg4~{1x+YpH&$~3d) zPR;yk3!@>ZTz|to zd=R}Wh_?_iR4^|NTu`m+0tPrP}Nm6MzLN6T-m zsW2SLh4mp19F$OiSOUw0mIL3JkA8K#ErYIX|4EY90XIAA`GEwKXYV>emlH`?uFnj0 z2?wpedBeD4ucY^NZV#@6xM+&QVxmjUWU9iUKjN~6&S8I+x?$WKNy$_D?z}RL)t;FJ zBGt^>pb|QTTkX{|w4C{ZKpJ%YN{%1SXNFX!QbeG3kLzLAL#*k}t>b|AhZaz%>derr z8-ppx$rDE*S~8eY$6sG>CigO8$wDw_6BcMN4s4cS$qJd5;jIqD-#_oHct!4pYFDDGdqT2ozr z^u`d&m7BNNd(|6U7U#$Ym;?{lhh~S6-Cd)Fs{Xs~t==F`&&Tij4&82UOP@<)V`I-W zbe#myMN})ahy5Tkl~h&hPwqtxAI^0=AJ!UGLX-0H$kyEs&bYurkbxh};UtcZTm(pA z_#?r@jj$Xu2H-K1pxBTIi$w@7aDR^n-n}hdWm(z~%2(5^l3zywe4f{xSMVn*U;YisypC$t;F^r11n@vB)C9(w*hBYW2UxVP#h%YmqPjgvTgPToLLxP4@YSM~e? z_m2XZqlZ3+A1>z+LgEhYyZ~?}p#6_>q()j%@H6*;m*3WHvE~K;$0`UbRkm=anA`f7 zViHFSjd?>JZkZ=xZ13YmC$LgGr3eT2a~bWg}Hv(X&gR(}OgPGR8>Ll`b9^zoj!QUd6=*DWr;@OfOLYE7(? zL)O>Vd2XkKZqHU0GC<0TiaiA~spc4^XecP%K!#?v-xY7ITCKOhVln9u0+jZh_K?m` z<*H!Gd?1Z?^czs_|6eb_qe1rC=l>cO^BUJvtob7~%T=k7i?ZaUaM|99Wk&aT9F(M1 z9Wnf$oI&w5u2Q{CRo8H^kKeA*=SvylWX*le+O-^%3K3N-HBbOi*I&pT)mtSjnyR-T z?lUZ7N|=a(uwls{4Kp{GRBxP=ovY<R5eUP7tYA-X?_u8ouh$e1=oZa|B`8-N{TK+-w?7FDN02IK zu0_hP@%qTNSf5-soIV{cJ}e|!oDGDs>CB&)i%5lJ2T9Xr!m6e(erBPZr1;bTu2q-O zbcr8AwKqq7*~px@5`v;F8vuufhVZ9~uLr{IF)UtD%GJER;b6xp%G$A3^!1)r~ZED}{}KaDzhI7Ehpkv-=Wxi~l& zjwP*}B?S9^f!g+}{%)eFNmHs?UUt_8z)wI|%q-0G9i`S6VoQ+p;K0syOIsGd*)pReDsz%sYQbUBCDrvjHU7TtKCDg|(VLA($di|j zGqGrkhZW)Sz@OTs_Ax_%2X9LV&1;;xUVnT|r4{Cl_wBdQI!jH|N&h8?7#t?V1<$ z_8?zrtGNA{K677R@*4=Vcs?ORx7~fo(C_;CTD{u9t-PG823}QyB6q4U5{hMr zp&{h605Z^^)<#On$(7!VGK|_cm$U(nl)WAV4F7gQ2@H zgK7XdpG%|gtAPGym+x4{Tl5<0-y|j}z{IfUEyh+KOGQUV=VDbV_*; zGaX(Yx?Xqnn)SdhS`IjQ>YOrHfO^OO5tWx3n9)zvXUtD zAgt1xQZ50jl1K<+{w%KviOg_`F!b2Qk<2~D{Ow6@jlqRlp#9|~_F4lgT}auTDTnOl zWoNA^zZ?nT*ROIQHRl11+3c+H_Rh{|^KM06U0vKaka0rf4twGua-kbT;21pbDPK5@l{~S*O00Jz1zg=ElxT88}YM8$E(!!t@ zi-J{MgboueI00G-U}>fq91#h5x-PeRM`5HtL0{SLX6p(_pRdOO_8O^3qbhRt z#JpGL1fo%ct1bAnJ99rC{7a{4l+FF07DSXJDJ@g8GLeyBM6C4xI_Gt!o81fP< z3uUIo$pQ!~Dh7uAUL=#Nt)SYg2gZ*#KqAt#~9F2zL(>r%wLV4wQre~K9@WiI2 zgh;YW#o|~h9#U1i)Zm9UzAsQkk7j~0eRScwfC4-;I@-Ii(73Jsvr++Nf2S`@OY>?! zIKc=#8L)$WV=j&w%JaNWquq3Lp1T9h*2EiIqdcNt2t5(XQM*4j8UEQt%NJmHmS zBAcFE^rREK9bz2IE)a8Qx^i!Ms)*+K`+te#VGab;(%QQ)Zm$$5!lq0ZG>WNgp?^Na zkPs7%YJ)&t2Jv!Lhl}=ytqYq`Ox9#+&-W)!56g+FU%j-vP>EIj$2{X67wtiGqp#Pa zu;=X$x~nHmho7|4)0-U*n4FFs!YQ2pAm9yDc2>eMob^H^voH}ynE8ys{ z&8aC?S9yCkcI&8BCOlIBC=1tC9lIp${ribuC!1M7?L zm{fyWQ}Gz3Tm0WqD3jYPv5NCCCO@)yNM9nwSc(pOF1A;J%5dw>3)I-QHXeX#P%TAV zGmrmS74)T>5E0&HCtM|lNrU`aa-3`zH<({f(ovKt#0>%R#IV;U4Ckzo1#%aJqSs?3`@$u4GNkvVa z4Rluk)w<*pt2QuY%8L6R65$wtxhz~ZEH^sR0VS?$f1>r{{l&ub1CYTC=1TMc_oY*H z?UOr&Tt}m>s<@4f4R8kkImQM7Zt|qfOXdd`*YyN9i`!njnz*bi&`dPgY)ssrt(-a8 zGNh9N)fUK`fPw35F6+cEC-pytqWd^QnZcB{|s(l9>2Lz z)j({f1cA@nn=PW0-n~8Jowwy0EZX}f47} zx(2E?o#qI`e>F!o~Xy3kl170xk zUvC4rW$K~u^^)C+rcD8P4;_i`5gD-c-mNE+*aJq*aGza<-Shnci{4f{a}}~B(4I|< z9VA7^vlkYTbaH?sc@|1(<6;vhx5~385)oyGw*g5;ICdKVp?_c@pi8ESmF}rkh=>?cN-$?$^h!}$r z16k#h0n}M@9ultYL**y87R(mW02b<3^jg5K(Y%dpgfp?9X#0(yXv2NI$l8cPHf?Bs zyi-YA8xTA6R~oEV-A~F9*gJpAY?dM#`1j z%#w4Or47Mmg8Pu+6n?(=UC{<(hegcsb?`&?WpE&Fv z9SzUO@%MT?tW5$YWeM>gLV(59+WI^oFc1X=#WyigE&gTU=+^Ub%W}*Zjd)fPSywP$ z@e25vrNH<|xwA$U`NztuNcu*o+rysOKGyYc=^kQL$6pBRcoKtE33CPPU%o!QWG@sk zX^ajI=Ot)TQ`1{1XXmPx9{sRq_4ruzQx*v{0jzXH_<|paRtae%49_M8a(0`gPuQ}e zEA*`Pny5kiUYS}M?!L&3YRq8x)%99Z-%p={bAn?_X*qb`@q>Icg@?1>T4;F!7~!dQ_~3;6$U_Uj07urpy3UC|5Mx0AN2M{>2-w$9l&$Ue?(Xh-+>6c4pFkiV*E0fChOKQa z>||?m^V|xT3Z7I-ZmwbZ#>O0AkLTg#14K0j-_@1n{y+U7GAF^%_{%Dm z9d0o3mHg?19u1Pwu^A~nzK{;z(|CTJ1UbQIh)#@e&ARCQ%{N0^_tfVhSouR5O450@ zI;!;1=*RdTOlCBzp2p=UfK2m2ML^0mU1Ih2CE6kfByO7@E-;=GTpS(RpmPDda|+qE z6~eIexVXL?kquV!I|D!$W(L82`47HMi^u!zPOan3S)sjU^5EdWVXG(b!xKgPpH`gd zQ}?H-G7@P2DD%NYTD8l!N}735S*fj|gG^K`v~V&BqfGuuDJ{7wy6UJv zN(T+k9~rulyx~fT=g?}&LvykdxA^?U3bmOfEg>Z;C7KIoPaNA97n6Mt%K=%Dmeq;bZ|!tILr1r ziC2bJc)e`Rn-Kez#Nc^IFqwfnjR&8d_D23vQc~2ooLfpp5>@bJsV5NArmxj*>>c`w zhe{#r#%Wm2S%H#oQPIXz8ub_J)a*`I*Q}RN>NMM|31z@lBVRIWYaD){V|b0L7#X5X z{3^=}&PtW_7vo(+_`n1@K5s6^rd9cSK)L)zOIxb&aCCe;0^k%eSJ$RBzb5lJNxsL; zFOpKFvMQYcWDERGMzNu2z66Pc0}m7R`%d-M^&d_s`f62dR#o%J6^g^4nQ- zt*g$KI;WwL%|*2v>gK4y#eG6x)ZjJEQTllGbGWF#-cN`(LXZCj@6(aLVk{?E9WoVM zw-Eg2?;Gj8)kWzNKE2PR2yh+V+I~E zX;~aJ#BPP|Bo>`S&w@NO{!@rK^NFvAZ@#{xEj}@^JCYOF5ZQkBH3ZV)mqacrs*ApHL$|Sa);c8j+#u6A8q>(nPR#$H_X4yy^%kHCL z`gMmw$e%uD*z1n6UII#=m|i|>RY#B2Vc3DSJbv15NPOXYOEjA+!T5)nZ91NC0bl-7 zEsW>&Fl8Gcb^Krxq*x_yYimnlI}uvXXB?ZPo{>?wgdPRs4dBthjw3qjow0k@- z@O`{Gw5FD-l&Z$xYnLFXDj4r4d_~MhpXYgm6>Lv?yq#eGVOF|+Fc5p-<}HJtZ%hkJ z_t==w6Qr~-H^dS(x?Bn=38iO^htbW1kQ<+K2Z^@(zK9|AkC*4{ z6)}@ZYhJB+2U0coP^B($)QvewvZ$YsOp-#8bryTA~`zcj*bxi|#J*!ELB ziC*0MWS)L3gLlQ+>iXf~;O&9GNX^NhYVLtEMze2!ah1zz;aeA^Lfls9OWP97H)sHF z%5=e7%mj>)#m$AC}!rX zc^mtBj!qRD`qB^T5w2dpH-BlYzbUS>R!bH!67wWn>Noz(dmA_R7u6BQU&ClHnFlzr zFxR$S+7gkxzw?7w+(2(;VVE%ClKT7Qzl6WW$?bpFBvTbzTFvFE4-MS0q&GIwsJJn) zGeZPwS^A0SA;hY~4Y91zel68KPkohsVs1zx7SYCXxYz?P3%E>k*lUJkJ63}rt2lb$uC=Kj)W53(B6Yx z=51&C1NSs-tM_sEmWE2 zTIc`gE?l^)0SU!qEgJPZDgeIS&oXJFS`0ktBZFUX#z=s z>{oj_G>Jb3x$!+<5w-_P4BHbmG4;1jhFde;rySvgUlS2zs5c{z27=sQ0qAu#_8U2( z5X%sSTvCPvQj|7_EY_yV_Ck)*^`SwPhlMzAfTSS2`zTEjFzEKW+Mz6V=3`AFA(r=6 zL+|myRbiylv4*NMv=rXrVpO;zs8!gpsu(%YP_2q3$R zDU?mxE;c5j?QLUP4yV$pb zOrdQMLyMvURq*if@m)=4Z3`Y?`*lilYCOs%;y4{U!fdv0lD&z;6P?Mgw<~I;Bc-=q zSf22I*c1`lcRA-=k45PzJG4Tz>rO^-5B@z1T=@1K8<%ukGvOP3prPJazKc4G?gimk zmA=b55wd9J1i>d{k!tO%>ds6eqIDl`Mn}Z1!R&oQ<|O(wT6Q!geTt4n!H#P8=$VOL z-z7sRRQw`GjS6@%F)@IJX9IdT^TVq(vX>XJv=f&c7d=l#td9?b)xUI_Q^5wxX|BT>48iZ|FYY(u0YqF*YigJPPUqpUgV&2Z zmNtnzX8bRP&ah6MNwaLu*y@M*thD)FcL`Jw09vjw5!G@RPLAeVk#hNx{0FUE{8~-Y z*Tur2Kb!0Ex4GXIh}_7pd%KeOv^`Nxh7pB>!7MNb6HGQwxchV(<3|Ct_gqxo9UY#R zL&6DR7rj6E#qjaEpej{h;9+ckU3v8$E_dkUYEZl*96EBXyO~fhw%^vYcPJ<*po}Im z8ooZ-0fz35>93Ih;-aLiHIbW3b_NE>Y&v!NfLUQ|CWEgwoxJ|xcpS)BSYpo3>>?r} z*zo@Wwm?iUB)H#i*r-SUyS%oxHaNEkRI6J%G)52O{EN4&o`W|U_No@weIrfQ#8tuj>%ba5P9C>FT; zDj0^C$6jbdGLcM(huI&NO5_s1Fhi@)hj z^r_#8!i75qLc4J(P10H(a(2>p%%)pp0#7M&r-xoFJ`9eMwShTnaZx^S#(nJr;$Kr% z_=^Sb{5OGDyT`AYA{5A4rX>sgD;kx1#rMGcsuX_;B&6=l%X4LxYAFtjF}$y@ujlL4 zAYdT@+Cw)tx3QGFPk0>G`j3}eVc2#o6%`c=r~lPymiG+|)Ht8vCd^;oLO{T?{`z0k{`ywSRU0{fo+Ovpxp!`3j|TO)V|JaBmp&AsnkJdF)?m3$S3W~ zPx3CMw^XKLt)IE)N?Xg(MvLx;=++Z#4?pRGviiwBT)<`Q6i%32DC-r6cY8LopC-7{ z@bTE=n?y{ZZ!V5|M^Elab)BFPZML-yae*}`P!iVah%_C&%`?KZeg=Or!xCp7*-bJU zi*G8NrTK)^{^w`=&p`^=u(SC;3STPQ<>GWJ3lDz#-r|3c+I2YiasBe&wLwnQ#6cDf zb(zAW>8-mk2h!|%$D`AU#6xuBmYPge<&xzuJ!7VQ@D<8St!LKwvD z_mweW!boEgBUZ6m*dg}e-K1{)>I5`?KZpoigbsIK2q=ukKajQ;Q|kd=A=x#hWrGXx zzO;>|PR`L_e9GW(W)c)YK3s3-=6}8X!vFqAYB66{P*sJjkpOtaNoZ(7C;48&7<5{` zTd%tQo74y3se5~e<~LxF4>(c&-9O#kxjgPqjR8pv9bMTn=x?qV65t4y0Bn91rL$fP z(K@ZpC^$I7#Y%-EbD5|j(SXb>dC=U)2Fa+`AMwcJv02^-jv(x=uQfPiqai%S89GK= z3XU1u`u_s_2?O?&LW)gRJRG&epD(5OV$iamo1Xi7)LxiB{QvFUd2p2V9mnza^E`WG zLv}a2IX4$cAYmYa60DrDsI(qo5L@cOQR@t4sK->NPFroKf0PdGwBS`ctuwYrwd1Ju zKrn3ArKXZnFFA^Yo7m4@YhY5SH(2hCi}@EKdRBt^iY!EbmDQ3?wUBn zLeuZoucoo7nf-@qIo#Yv-LVc@LlJs)1DmGewX5X#J>>Yk6y;@8n3p@Mg@9upC_~ z!<(2ux;u&7bU#z_atNHmLc-Bnas5JWnO{2K^+~7Pn7fp@TrSqFTSs|$Ih!|cqN=Kj zP$+h^5{*WwsHmW#q5`+uO+i5+fj}l{Y3Zb;rQ-AXaX9Q4hCz3C4=pXtw6?a=)YL?6 zZ7mHA4Fis-G)*HdEseEnzt55-ORQ?3q9{z6GL^!@DXd(%ing{ks;jHnxpOC9e6f#U zFo>?}=(>(!7?`GsVZ^R|pZImQo6-lfr{Ux=*w?4{2JN>SN=YCIyQ&a1OpbPj35KI2 zyX@4r_gT%+MX8DS$IyS`O|UT|Gl_~LvAIBpkA==#(AnSI%@aEh(b63YIg|Y^p1HHc zI+7b-vf5+3nI?1vC9q5+V-7mmfeTkU)iiC~jzd&cB`c6gRv=ah(RH0@G>U1OD2jrr zs@QC{3--e^B_)-VlvKE8F1oH0i9}-0)4xPf>E9J)x7){DQF1z+Y*@3L^6EVpCd|LG z1eeQ2PfrhR$B*MqN+Q|o9q_rTs!DbsVEq}Jra9nibfNoiTrL-`VM1CwP*s)O+*}@i z{0Zvo>v{9dH+lEne{uBaQLDGAtE-FZ>ME+MtIq28a5|mLpTB^cZ@!s%^X3h?|4dO7 zoK7cMSy^OdWpUF@H({D4y}iA3b#>9v(Lq;NC&6HdzP`R#mCxlOF)x;ifyRTh(Dtf^AHL1r-H+i6?_mFmi5<+CypS4zv3CYU=tM zo;6ir!!1SR`_I?+z@`761tCTNDG#m~GKA)du%VKLBGBY#Js_LRBiWNA|edf>TDhQ|EDmu_Sa30lgj`c)1vAMwQ z)Nu4)!}cZGv8gJNs6ks#m_FUWIm#>AQN!d&d&v5Du*t>a!DUxjT;%8NJ&$dK!%SxuLJUp5b1oCR_U`BL-SzZDqWrh5m%t3aF~{s7HVp~qOPuvmX;RU+uI3+LiG0bqG>iN`Rr&nHLW3L z=Zx+M{9s#%{ip2Ro0f5YCR!&sZERdx%(t)1VCB{-LJ@=Q`&ub~W*7fle>F)?X;u|t ztR(1MCJgiB0zeaG(1C$sVsbbfWM^lSogF*IH4MY*lR0s;rK+lRyg0Ff&Dr@{o)=%D zo#Vj>Vcp=J&s$kOYvgKDSD(&bKdrZ#=u2}v)|!VLZvx&#jqb2cFcRg-e;;DY%9$hf z|Cqq$9S5!V%=f#A>jXiJFFnRW)I@Z3p#~OAhgcuzOI+uymlobAW|95GB z>Or>uY#k-jiZ1pe2{9y1Re0#Sd}|%S;bS3g-%`ne=AJ==Nw03OX~!Y{@^PK@+NwEO z1Dbf3&q`;0{>kB;54^gMS9UiJIzuWJavHh+@1GOuzv@0G$IG%ShOaD*SFu!8;NC@f ztev0BiN5KVb~m!=y+gweI2A&iPL8gG5EIhW)I^?JHIw^Z{+!M}o&C){%-HxLOH0yt z_=W;9-A+Q0C?6m0;HPixr>*DY*o*R#^w`4AGYT)B1RF1`nZ<%9{zGGD9}OLS-0@r` zoAbOpd_w`VvSK|upB?RD(|ZT`q_)EfE&-2|=hw^{wkfzXr1Siz^~@e&dwR0V&iwr3 z5s%I6n!?j7rsJ?F{NeptB2j}!-#$Q3ILa??nR-zcj0$n7k)R`lxPZo1iMXpYKrkHT z2QTl%Fd=H1Y}?b!wmr>gYOL4n%nHi1j7e-=H50dU@PFP4Qe3=p&sE&MrILou*d*vr zYCE`nOQjVY&g@~!@;Z6(?kg!uOC0ujyZWO1{2yPA_<7CEPv*lP&c!y0pyJR}ezSBM z)%9I`P;(rB$95c~Br}OSO9Nw?F(kz0NRF`-bWU3Us)dhQ|9BG+O!X`C7Sn@?>f# zOOjLL?R9e~pOFSYC}Obsg{oNN^+kIsAubJ4(GfyiFyAOnVbY4}K(x!Xw7Y@2_Fmjh8&~IfxMyw-i>La@@Hj^urF@BYp8VEyeso;{uT(bj#%E1b z)^}nUvD;d=&B|cKRhi`Z60BaKq26cX(&8}<5zKHqt + reflect those of the European Union or the European Commission. Neither the + European Union nor the granting authority can be held responsible for them.

The Munich Quantum Toolkit has been supported by the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation program @@ -41,11 +40,16 @@ Quantum Valley, which is supported by the Bavarian state government with funds from the Hightech Agenda Bayern Plus.
-
+
NeQST +
+
+ Funded by the European Union
diff --git a/docs/publications.md b/docs/publications.md index 6abbebe..e315f8b 100644 --- a/docs/publications.md +++ b/docs/publications.md @@ -1,6 +1,6 @@ # Publications -MQT Qudits is academic software. Thus, many of its built-in algorithms have been published as scientific papers {cite:p}`matoAdaptiveCompilationMultilevel2022,matoCompilationEntanglingGates2023,matoCompressionQubitCircuits2023,matoMixeddimensionalQuantumCircuit2023,matoMixeddimensionalQuditState2024`. +MQT Qudits is academic software. Thus, many of its built-in algorithms have been published as scientific papers {cite:p}`matoMixeddimensionalQuditState2024,matoMixeddimensionalQuantumCircuit2023,matoCompressionQubitCircuits2023,matoCompilationEntanglingGates2023,matoAdaptiveCompilationMultilevel2022`. If you use _MQT Qudits_ in your work, we would appreciate if you cited the respective paper(s). diff --git a/docs/refs.bib b/docs/refs.bib index 7f66ece..e2aa82f 100644 --- a/docs/refs.bib +++ b/docs/refs.bib @@ -1,17 +1,16 @@ -@inproceedings{matoAdaptiveCompilationMultilevel2022, - title = {Adaptive compilation of multi-level quantum operations}, - booktitle = {International Conference on Quantum Computing and Engineering (QCE)}, - author = {Mato, Kevin and Ringbauer, Martin and Hillmich, Stefan and Wille, Robert}, - year = {2022}, - doi = {10.1109/QCE53715.2022.00070}, +@inproceedings{matoMixeddimensionalQuditState2024, + title = {Mixed-dimensional qudit state preparation using edge-weighted decision diagrams}, + booktitle = {Design Automation Conference (DAC)}, + author = {Mato, Kevin and Hillmich, Stefan and Wille, Robert}, + year = {2024} } -@inproceedings{matoCompilationEntanglingGates2023, - title = {Compilation of entangling gates for high-dimensional quantum systems}, - booktitle = {Asia and South Pacific Design Automation Conference (ASP-DAC)}, - author = {Mato, Kevin and Ringbauer, Martin and Hillmich, Stefan and Wille, Robert}, +@inproceedings{matoMixeddimensionalQuantumCircuit2023, + title = {Mixed-dimensional quantum circuit simulation with decision diagrams}, + booktitle = {International Conference on Quantum Computing and Engineering (QCE)}, + author = {Mato, Kevin and Hillmich, Stefan and Wille, Robert}, year = {2023}, - doi = {10.1145/3566097.3567930}, + doi = {10.1109/QCE57702.2023.00112}, } @inproceedings{matoCompressionQubitCircuits2023, @@ -22,17 +21,18 @@ @inproceedings{matoCompressionQubitCircuits2023 doi = {10.1109/QSW59989.2023.00027}, } -@inproceedings{matoMixeddimensionalQuantumCircuit2023, - title = {Mixed-dimensional quantum circuit simulation with decision diagrams}, - booktitle = {International Conference on Quantum Computing and Engineering (QCE)}, - author = {Mato, Kevin and Hillmich, Stefan and Wille, Robert}, +@inproceedings{matoCompilationEntanglingGates2023, + title = {Compilation of entangling gates for high-dimensional quantum systems}, + booktitle = {Asia and South Pacific Design Automation Conference (ASP-DAC)}, + author = {Mato, Kevin and Ringbauer, Martin and Hillmich, Stefan and Wille, Robert}, year = {2023}, - doi = {10.1109/QCE57702.2023.00112}, + doi = {10.1145/3566097.3567930}, } -@inproceedings{matoMixeddimensionalQuditState2024, - title = {Mixed-dimensional qudit state preparation using edge-weighted decision diagrams}, - booktitle = {Design Automation Conference (DAC)}, - author = {Mato, Kevin and Hillmich, Stefan and Wille, Robert}, - year = {2024} +@inproceedings{matoAdaptiveCompilationMultilevel2022, + title = {Adaptive compilation of multi-level quantum operations}, + booktitle = {International Conference on Quantum Computing and Engineering (QCE)}, + author = {Mato, Kevin and Ringbauer, Martin and Hillmich, Stefan and Wille, Robert}, + year = {2022}, + doi = {10.1109/QCE53715.2022.00070}, } diff --git a/docs/tutorial.md b/docs/tutorial.md index 4d47e20..08fcf41 100644 --- a/docs/tutorial.md +++ b/docs/tutorial.md @@ -14,22 +14,15 @@ mystnb: # MQT Qudits Tutorial 🌌 _Discover a New Dimension in Quantum Computing._ -Embark on a journey with MQT Qudits, a cutting-edge framework for Mixed-Dimensional Quantum Computing. +Embark on a journey with MQT Qudits, a framework for Mixed-Dimensional Quantum Computing. Delve into the realm of mixed-dimensional quantum computing with NeQST—a project funded by the European Union and developed developed as part of the {doc}`Munich Quantum Toolkit (MQT) ` by the [Chair for Design Automation](https://www.cda.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/). Our team is focused on creating design automation methods and software for quantum computing. The following tutorial will guide you through the initial tools and contributions we have made to advance Quantum Information Processing for Science and Technology. -```{image} /_static/foot.png -:alt: MQT Qudits Project Logos -:width: 80% -:align: center - -``` - +++ -## Installation steps: +## Installation Steps: ```bash (.venv) $ pip install mqt.qudits @@ -247,6 +240,7 @@ After crafting your quantum circuit with precision, take it for a spin using two - h - rxy - rz + - rh - virtrz - s - x @@ -402,7 +396,8 @@ Tailor your quantum compilation process to achieve optimal performance and emula ### Experimental-Inspired Compilation -Emulate the features of the best experimental laboratories in your compilation process. Leverage modern compiler passes to customize optimization, gate decomposition, and noise-aware strategies, creating compiled circuits that closely resemble the challenges and advantages of cutting-edge quantum hardware. +Emulate the features of the best experimental laboratories in your compilation process. +Leverage modern compiler passes to customize optimization, gate decomposition, and noise-aware strategies, creating compiled circuits that closely resemble the challenges and advantages of cutting-edge quantum hardware. Customize, compile, and push the boundaries of quantum algorithms with a tailored approach to quantum compilation. 🛠️🔧🚀 diff --git a/MQT_Qudits_Tutorial/MQT Qudits Overview.pdf b/mqt-qudits-overview.pdf similarity index 100% rename from MQT_Qudits_Tutorial/MQT Qudits Overview.pdf rename to mqt-qudits-overview.pdf diff --git a/src/mqt/__init__.py b/src/mqt/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/python/bindings.cpp b/src/python/bindings.cpp index 5147e1d..4eeca8b 100644 --- a/src/python/bindings.cpp +++ b/src/python/bindings.cpp @@ -9,7 +9,6 @@ #include #include #include -#include #include namespace py = pybind11; diff --git a/test/python/compiler/onedit/test_swap_routine.py b/test/python/compiler/onedit/test_swap_routine.py index e2067e6..80f4bf8 100644 --- a/test/python/compiler/onedit/test_swap_routine.py +++ b/test/python/compiler/onedit/test_swap_routine.py @@ -103,7 +103,6 @@ def test_cost_calculator(self): assert total_costing == 0.00425 assert len(pi_pulses_routing) == 2 - assert cost_of_pi_pulses == 0.002 def test_route_states2rotate_basic(self):

ttP$CE7H^7E-kq4DuXrieE) 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\n", - "