Tutorials
=========

The `egttools` library is structured in a way that allows the
user to apply all `analytical` and `numerical` methods
implemented in the library to any `Game`, as long as it follows a common interface.
It also provides several plotting functions and classes to help the user visualize the result of the
models. The following figure shows, at a high level, what is the intended structure of `egttools`.

.. image:: images/schema_egttools.pdf
   :alt: Structure of egttools
   :align: center

In the following links you may find more information and examples about how to
use the analytical and numerical methods implemented in `egttools`; how to implement new `Games`;
and how to implement new strategies or `behaviors` for the existing games:

.. toctree::

    Create a new game <tutorials/create_new_game>
    Create new behaviors for existing games <tutorials/create_new_behaviors>
    Apply analytical methods <tutorials/analytical_methods>
    Apply numerical methods <tutorials/numerical_methods>
    Visualizing results <tutorials/plotting>
    Utility functions <tutorials/utility_functions>
    References <tutorials/references>
