#!/usr/bin/env python # coding: utf-8 # # Programming with qat.lang # # This folder contains various tutorials describing the usage of the `qat.lang` module. # # To begin: # * this first [notebook](./writing_quantum_program.ipynb) shows how to write a simple circuit and display it # * pyAQASM offers classical control and measure operations. [This notebook](./measurements_and_classic_operations.ipynb) presents these features. # * All the basic features are summed up in a single [notebook.](py_aqasm.ipynb) # * This [notebook.](./custom_gate_set.ipynb) presents how to construct custom gates in pyAQASM. # * [this notebook](./qft.ipynb) presents an example of a QRoutine implementing a QFT # * The gate set of pyAQASM is described in [this notebook](./available_gates.ipynb). # # Some algorithms: # * [this notebook](./needle_vs_haystack.ipynb) introduce a basic Quantum Search algorithm to look for clean coloration of a graph # * [this directory](./algorithms/algorithms_overview.ipynb) contains other basic quantum algorithms pre-coded in the QLM # # More advanced usage: # * [this notebook](./gate_sets.ipynb) shows how to declare and use a custom gate set in pyAQASM. # * [this notebook](./inlining_vs_not_inlining.ipynb) explains the inlining process that is happening when extracting a circuit # * the ancillae management feature is presented [here](./advanced_usage_ancillae.ipynb). # * the compute/uncompute scheme using `with` statements is described [here](./advanced_usage_compute_uncompute.ipynb) # * [this notebook](./linking.ipynb) presents how to write and link circuit libraries in pyAQASM # * [while this notebook](./very_advanced_linker.ipynb) goes even further and show how to link gate implementation under controlled operators # * [this notebook](./quantum_types.ipynb) introduces the notion of quantum types and show how to generate powerful quantum oracles # * [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 # # Text format: # * [this notebook](./aqasm.ipynb) presents the AQASM text format