{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Parameters\n", "\n", "Qlasskit allow to create `qlassf` function with parameters. Those parameters are not free variables of the final circuit, and need to be bound before compilation.\n", "\n", "In the next example we define `test` with a parameter `a`; after binding the parameter `a` to `True`, the final function expression will be `b`." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(_ret, b)]" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from qlasskit import qlassf, Parameter\n", "\n", "\n", "@qlassf\n", "def test(a: Parameter[bool], b: bool) -> bool:\n", " return a and b\n", "\n", "\n", "qf = test.bind(a=True)\n", "qf.expressions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parameterizable qlassf also supports custom types, and complex types like `Qlist` and `Qtuple`." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(_ret.0, b.0),\n", " (_ret.1, ~b.1),\n", " (_ret.2, ~(b.1 ^ b.2)),\n", " (_ret.3, b.2 ^ b.3 ^ (b.1 & ~b.2))]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from qlasskit import Qlist, Qint, Qint4\n", "\n", "\n", "@qlassf\n", "def test(a: Parameter[Qlist[Qint[2], 4]], b: Qint[4]) -> Qint[4]:\n", " s = Qint4(0)\n", " for n in a:\n", " s += n\n", " return s + b\n", "\n", "\n", "qf = test.bind(a=[2, 1, 0, 3])\n", "qf.expressions" ] }, { "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": [ "qf.circuit().export().draw(\"mpl\")" ] } ], "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 }