{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Programming with qat.lang\n", "\n", "This folder contains various tutorials describing the usage of the `qat.lang` module.\n", "\n", "To begin:\n", "* this first [notebook](./writing_quantum_program.ipynb) shows how to write a simple circuit and display it\n", "* pyAQASM offers classical control and measure operations. [This notebook](./measurements_and_classic_operations.ipynb) presents these features.\n", "* All the basic features are summed up in a single [notebook.](py_aqasm.ipynb)\n", "* This [notebook.](./custom_gate_set.ipynb) presents how to construct custom gates in pyAQASM.\n", "* [this notebook](./qft.ipynb) presents an example of a QRoutine implementing a QFT\n", "* The gate set of pyAQASM is described in [this notebook](./available_gates.ipynb).\n", "\n", "Some algorithms:\n", "* [this notebook](./needle_vs_haystack.ipynb) introduce a basic Quantum Search algorithm to look for clean coloration of a graph\n", "* [this directory](./algorithms/algorithms_overview.ipynb) contains other basic quantum algorithms pre-coded in the QLM\n", "\n", "More advanced usage:\n", "* [this notebook](./gate_sets.ipynb) shows how to declare and use a custom gate set in pyAQASM.\n", "* [this notebook](./inlining_vs_not_inlining.ipynb) explains the inlining process that is happening when extracting a circuit\n", "* the ancillae management feature is presented [here](./advanced_usage_ancillae.ipynb).\n", "* the compute/uncompute scheme using `with` statements is described [here](./advanced_usage_compute_uncompute.ipynb)\n", "* [this notebook](./linking.ipynb) presents how to write and link circuit libraries in pyAQASM\n", "* [while this notebook](./very_advanced_linker.ipynb) goes even further and show how to link gate implementation under controlled operators\n", "* [this notebook](./quantum_types.ipynb) introduces the notion of quantum types and show how to generate powerful quantum oracles\n", "* [and this notebook](./differentiating_jobs.ipynb) presents two methods to compute the derivative of a job with a cost function $E(\\vec{\\theta})$ for gradient-based optimization\n", "\n", "Text format:\n", "* [this notebook](./aqasm.ipynb) presents the AQASM text format" ] } ], "metadata": { "authors": [ "Simon Martiel" ], "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", "version": "3.10.4" }, "vscode": { "interpreter": { "hash": "f9f85f796d01129d0dd105a088854619f454435301f6ffec2fea96ecbd9be4ac" } } }, "nbformat": 4, "nbformat_minor": 2 }