{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Circuit Translations\n", "Apart from qiskit, QLauncher is also compatible with cirq. Moreover you can use QLauncher's translations to transform circuits between frameworks with ease." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import qiskit\n", "\n", "circuit = qiskit.QuantumCircuit(2)\n", "circuit.h(0)\n", "circuit.cx(0, 1)\n", "circuit.x(0)\n", "circuit.draw(\"mpl\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now to obtain the cirq version you can just use QLauncher's Translation class and specify 'cirq' as language:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "q_0: q_1: HXX" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from qlauncher.base.translator import Translation\n", "from cirq.contrib.svg import SVGCircuit\n", "\n", "cirq_circuit = Translation.get_translation(circuit, 'cirq')\n", "SVGCircuit(cirq_circuit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When you translate a circuit it is first transpiled to use basis gates available in the destination language, next it gets translated to qasm which is then translated to the requested language." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Your own translation\n", "\n", "You can also add your own translation to some other circuit framework to make it possible for QLauncher to convert to and from it. To do this implement a class which inherits from the Translation base class. In the class you should specify the set of basis gates used by the framework, as well as its name and class of it's circuit object. Below you can see how the translation is implemented for Cirq." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import cirq\n", "from cirq.contrib.qasm_import.qasm import circuit_from_qasm\n", "\n", "\n", "class CirqTranslation(Translation):\n", " \"\"\" Translation class for Cirq \"\"\"\n", " basis_gates = ['x', 'y', 'z', 'cx', 'h', 'rx', 'ry', 'rz']\n", " language: str = 'cirq'\n", " circuit_object = cirq.Circuit\n", "\n", " def to_qasm(self, circuit: cirq.Circuit) -> str:\n", " return circuit.to_qasm()\n", "\n", " def from_qasm(self, qasm: str) -> cirq.Circuit:\n", " return circuit_from_qasm(qasm)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the translation is carried out with qasm as an intermediate form, every translation needs to implement methods to_qasm and from_qasm. Method from_qasm takes a qasm representation in the form of a string and returns a circuit object of a given framework while to_qasm converts such object into a qasm string. How to perform such conversion will dependent on the framework, for cirq there exist built-in methods that do exactly what we need." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cirq Backend\n", "\n", "QLauncher also comes with a cirq backend and thanks to translations you can use it interchangeably with qiskit backends:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from qlauncher.problems import EC\n", "from qlauncher.routines.qiskit import QAOA\n", "from qlauncher.routines.cirq_routines import CirqBackend\n", "from qlauncher.launcher import QLauncher\n", "\n", "problem = EC.from_preset('default')\n", "algorithm = QAOA()\n", "backend = CirqBackend()\n", "launcher = QLauncher(problem, algorithm, backend)\n", "results = launcher.run()\n", "problem.visualize(results.best_bitstring[::-1])" ] } ], "metadata": { "kernelspec": { "display_name": "launcher", "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", "version": "3.12.11" } }, "nbformat": 4, "nbformat_minor": 2 }