{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Quickstart\n", "\n", "First install qlasskit using pip.\n", "\n", "```pip install qlasskit```\n", "\n", "We now define a qlassf function that sums two numbers:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from qlasskit import qlassf, Qint, Qint2\n", "\n", "\n", "@qlassf\n", "def sum_two_numbers(a: Qint[2], b: Qint[2]) -> Qint[2]:\n", " return a + b" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now export the resulting quantum circuit to any supported framework:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circuit = sum_two_numbers.export(\"qiskit\")\n", "circuit.draw(\"mpl\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The qlassf function can be also exported as a gate, if the destination framwork supports it. We can use `encode_input` and `decode_output` in order to convert from/to high level types of qlasskit without worrying about the binary representation." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from qiskit import QuantumCircuit\n", "\n", "qc = QuantumCircuit(sum_two_numbers.num_qubits, len(sum_two_numbers.output_qubits))\n", "\n", "qc.initialize(\n", " sum_two_numbers.encode_input(Qint2(1), Qint2(2)), sum_two_numbers.input_qubits\n", ")\n", "qc.append(sum_two_numbers.gate(\"qiskit\"), sum_two_numbers.qubits)\n", "qc.measure(sum_two_numbers.output_qubits, range(len(sum_two_numbers.output_qubits)))\n", "qc.draw(\"mpl\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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+Piod+/eOnLkiE6dOuUy1+l06h//+Id8fX11zz33GOOxsbGS9O+HN1wlJye7zAEAAGisqhSFPXr00IwZM3TgwAHdeeedmjdvnrZv3y6LxSKLxaK0tDTNnTtXd955p/bv368XX3xRPXr0qK21S5K+//57Xblyxe34rFmzJElPPPGEMT5lyhRJ1x4Auf4hjdWrV+vEiRP65S9/KR8fH2N80qRJ8vLy0sKFC10uI2dkZOj9999X586ddf/999f45wIAAKhLVf5FE6fTqZdffllLly41vhfvxu2enp763e9+p9dff93lC6JrwyuvvKI//vGPGjBggMLDw+Xr66ujR49qy5Ytstvtmj17thYtWmTMdzgceuCBB4yfuYuNjdWxY8f08ccfKyIiQvv27avwZ+4ef/xx42fuioqKqvwzd/yiCQAAuF5D+UWTKkdhqePHjyshIUG7d+827rdr27at+vXrp4kTJ7o8Kl2bduzYob/85S/65ptvdO7cOV25ckVBQUG699579eyzz7r90unCwkL94Q9/0IYNG5SVlaVWrVppxIgRev3119WmTRu3x3n33Xf11ltv6fDhw2revLn69eun1157rcpnQolCAABwvUYfhageohAAAFyvoURh7X+JIAAAABo8ohAAAABEIQAAAIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAiCgEAACAiEIAAACIKAQAAICIQgAAAIgoBAAAgIhCAAAAqAlE4ZkzZ/TWW28pPj5e7du3V/PmzdW2bVs9/vjj2rdvX5n5r7zy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", "text/plain": [ "
" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from qiskit import QuantumCircuit, transpile\n", "from qiskit.visualization import plot_histogram\n", "from qiskit_aer import AerSimulator\n", "\n", "simulator = AerSimulator()\n", "circ = transpile(qc, simulator)\n", "result = simulator.run(circ).result()\n", "counts = result.get_counts(circ)\n", "\n", "counts_readable = sum_two_numbers.decode_counts(counts)\n", "plot_histogram(counts_readable)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": "qlasskit_310-env", "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.10.13" } }, "nbformat": 4, "nbformat_minor": 2 }