Tutorials
=========

This document contains the basic tutorials of Piquasso.

.. grid:: 3

   .. grid-item-card::  Getting started
      :link: getting-started
      :link-type: doc

      A basic usage example of Piquasso.


   .. grid-item-card::  Boson Sampling
      :link: boson-sampling
      :link-type: doc

      Boson Sampling simulations using Piquasso.


   .. grid-item-card::  Gaussian Boson Sampling
      :link: gaussian-boson-sampling
      :link-type: doc

      Gaussian Boson Sampling simulations using Piquasso.


.. grid:: 3

    .. grid-item-card::  Modularity in Piquasso
      :link: separating-programs
      :link-type: doc

      Compose Piquasso programs and define custom gates with ease.


    .. grid-item-card::  Quantum Neural Network layers
      :link: cvqnn-with-tensorflow
      :link-type: doc

      Using the automatic differentiation capabilities of Piquasso with TensorFlow.


    .. grid-item-card::  Using JAX with Piquasso
      :link: jax-example
      :link-type: doc

      A simple state learning example using JAX and Piquasso.


.. toctree::
   :maxdepth: 3
   :hidden:

   getting-started
   boson-sampling
   gaussian-boson-sampling
   separating-programs
   cvqnn-with-tensorflow
   jax-example
