*********
Tutorials
*********
.. toctree::
   :hidden:

.. _models_tutorials:

Models
======
The first tutorial presents several random graph models: the Erdos-Renyi (ER) model, degree-corrected ER model,
stochastic block model (SBM), degree-corrected SBM, and random dot product graph model. These models provide a basis for studying random graphs. All models are shown fit to the same dataset.

The next tutorial demonstrates how to sample graphs of the same degree sequence using degree preserving edge swaps.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   models/models
   models/edge_swaps

.. _simulations_tutorials:

Simulations
===========
The following tutorials demonstrate how to easily sample random graphs from graph models such as the Erdos-Renyi model,
stochastic block model, and random dot product graph (RDPG).

.. toctree::
   :maxdepth: 1
   :titlesonly:

   simulations/erdos_renyi
   simulations/sbm
   simulations/mmsbm
   simulations/rdpg
   simulations/corr
   simulations/rdpg_corr

.. _cluster_tutorials:

Clustering
==========
The following tutorials explain how to cluster vertex or graph embeddings with two
clustering algorithms, as well as the advantages of these to comparable implementations.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   clustering/autogmm
   clustering/kclust

.. _embed_tutorials:

Embedding
=========
Inference on random graphs depends on low-dimensional Euclidean representation of the vertices of graphs, known as *graph embeddings*, typically given by spectral decompositions of adjacency or Laplacian matrices. Below are tutorials for computing graph embeddings of single graph and multiple graphs.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   embedding/AdjacencySpectralEmbed
   embedding/OutOfSampleEmbed
   embedding/CovariateAssistedEmbed
   embedding/MASE
   embedding/Omnibus

.. _inference_tutorials:

Inference
===========================
Statistical testing on graphs requires specialized methodology in order to account
for the fact that the edges and nodes of a graph are dependent on one another. Below
are tutorials for robust statistical hypothesis testing on multiple graphs.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   inference/density_test
   inference/group_connection_test
   inference/latent_position_test
   inference/latent_distribution_test

.. _plot_tutorials:

Plotting
========
The following tutorials present ways to visualize the graphs, such as its adjacency matrix, and graph embeddings.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   plotting/heatmaps
   plotting/gridplot
   plotting/pairplot
   plotting/matrixplot
   plotting/pairplot_with_gmm
   plotting/networkplot

.. _matching_tutorials:

Matching
========
The following tutorials demonstrate how to use the graph matching functionality,
including an introduction to the module, and how to utilize the seeding feature.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   matching/faq
   matching/sgm
   matching/padded_gm

.. _subgraph_tutorials:

Subgraph
========
The following tutorial demonstrates how to estimate the signal-subgraph of samples of a graph/class model according to either the coherent or incoherent estimator models.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   subgraph/subgraph

.. _vertex_nomination_tutorials:

Vertex Nomination
=================
The following tutorials demonstrate how to use unattributed single graph spectral vertex nomination or vertex nomination via seeded graph matching to find vertices that are related to a given vertex / set of vertices of interest.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   vertex_nomination/SpectralVertexNomination
   nominate/vertex_nomination_via_SGM

.. _aligning_tutorials:

Aligning
========
The following tutorials shows how to align two seperate datasets with each other, for better comparison of the data.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   aligning/aligning

.. _connectomics_tutorials:

Connectomics
============
The following tutorials demonstrate how to apply methods in this package to the analysis of connectomics datasets.

.. toctree::
   :maxdepth: 1
   :titlesonly:

   connectomics/mcc