Add graph references
This commit is contained in:
@@ -0,0 +1,383 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Chapter 26. Graphlets</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
||||
<link rel="home" href="index.html" title="igraph Reference Manual">
|
||||
<link rel="up" href="index.html" title="igraph Reference Manual">
|
||||
<link rel="prev" href="igraph-Community.html" title="Chapter 25. Detecting community structure">
|
||||
<link rel="next" href="igraph-HRG.html" title="Chapter 27. Hierarchical random graphs">
|
||||
<script type="text/javascript" src="toggle.js"></script><link rel="stylesheet" href="style.css" type="text/css">
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" type="text/css">
|
||||
<link rel="chapter" href="igraph-Introduction.html" title="Chapter 1. Introduction">
|
||||
<link rel="chapter" href="igraph-Installation.html" title="Chapter 2. Installation">
|
||||
<link rel="chapter" href="igraph-Tutorial.html" title="Chapter 3. Tutorial">
|
||||
<link rel="chapter" href="igraph-Basic.html" title="Chapter 4. Basic data types and interface">
|
||||
<link rel="chapter" href="igraph-Error.html" title="Chapter 5. Error handling">
|
||||
<link rel="chapter" href="igraph-Memory.html" title="Chapter 6. Memory (de)allocation">
|
||||
<link rel="chapter" href="igraph-Data-structures.html" title="Chapter 7. Data structure library: vector, matrix, other data types">
|
||||
<link rel="chapter" href="igraph-Random.html" title="Chapter 8. Random numbers">
|
||||
<link rel="chapter" href="igraph-Iterators.html" title="Chapter 9. Vertex and edge selectors and sequences, iterators">
|
||||
<link rel="chapter" href="igraph-Attributes.html" title="Chapter 10. Graph, vertex and edge attributes">
|
||||
<link rel="chapter" href="igraph-Generators.html" title="Chapter 11. Deterministic graph generators">
|
||||
<link rel="chapter" href="igraph-Games.html" title='Chapter 12. Stochastic graph generators ("games")'>
|
||||
<link rel="chapter" href="igraph-Bipartite.html" title="Chapter 13. Bipartite, i.e. two-mode graphs">
|
||||
<link rel="chapter" href="igraph-Spatial.html" title="Chapter 14. Spatial graphs">
|
||||
<link rel="chapter" href="igraph-Operators.html" title="Chapter 15. Graph operators">
|
||||
<link rel="chapter" href="igraph-Visitors.html" title="Chapter 16. Graph visitors">
|
||||
<link rel="chapter" href="igraph-Structural.html" title="Chapter 17. Structural properties of graphs">
|
||||
<link rel="chapter" href="igraph-Cycles.html" title="Chapter 18. Graph cycles">
|
||||
<link rel="chapter" href="igraph-Cliques.html" title="Chapter 19. Cliques and independent vertex sets">
|
||||
<link rel="chapter" href="igraph-Motifs.html" title="Chapter 20. Graph motifs, dyad census and triad census">
|
||||
<link rel="chapter" href="igraph-Isomorphism.html" title="Chapter 21. Graph isomorphism">
|
||||
<link rel="chapter" href="igraph-Coloring.html" title="Chapter 22. Graph coloring">
|
||||
<link rel="chapter" href="igraph-Flows.html" title="Chapter 23. Maximum flows, minimum cuts and related measures">
|
||||
<link rel="chapter" href="igraph-Separators.html" title="Chapter 24. Vertex separators">
|
||||
<link rel="chapter" href="igraph-Community.html" title="Chapter 25. Detecting community structure">
|
||||
<link rel="chapter" href="igraph-Graphlets.html" title="Chapter 26. Graphlets">
|
||||
<link rel="chapter" href="igraph-HRG.html" title="Chapter 27. Hierarchical random graphs">
|
||||
<link rel="chapter" href="igraph-Embedding.html" title="Chapter 28. Embedding of graphs">
|
||||
<link rel="chapter" href="igraph-Layout.html" title="Chapter 29. Generating layouts for graph drawing">
|
||||
<link rel="chapter" href="igraph-Processes.html" title="Chapter 30. Processes on graphs">
|
||||
<link rel="chapter" href="igraph-Foreign.html" title="Chapter 31. Reading and writing graphs from and to files">
|
||||
<link rel="chapter" href="igraph-Linalg.html" title="Chapter 32. Using BLAS, LAPACK and ARPACK for igraph matrices and graphs">
|
||||
<link rel="chapter" href="igraph-Nongraph.html" title="Chapter 33. Non-graph related functions">
|
||||
<link rel="chapter" href="igraph-Advanced.html" title="Chapter 34. Advanced igraph programming">
|
||||
<link rel="chapter" href="igraph-Glossary.html" title="Chapter 35. Glossary">
|
||||
<link rel="chapter" href="igraph-Licenses.html" title="Chapter 36. Licenses for igraph and this manual">
|
||||
<link rel="index" href="ix01.html" title="Index">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<div class="navigation-header mb-4" width="100%" summary="Navigation header"><div class="btn-group">
|
||||
<a accesskey="p" class="btn btn-light" href="igraph-Community.html"><i class="fa fa-chevron-left"></i>
|
||||
Previous
|
||||
</a><a accesskey="h" class="btn btn-light" href="index.html"><i class="fa fa-home"></i>
|
||||
Home
|
||||
</a><a accesskey="n" class="btn btn-light" href="igraph-HRG.html"><i class="fa fa-chevron-right"></i>
|
||||
Next
|
||||
</a>
|
||||
</div></div>
|
||||
<div class="chapter">
|
||||
<div class="titlepage"><div><div><h1 class="title">
|
||||
<a name="igraph-Graphlets"></a>Chapter 26. Graphlets</h1></div></div></div>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="section"><a href="igraph-Graphlets.html#about-graphlets">1. Introduction</a></span></dt>
|
||||
<dt><span class="section"><a href="igraph-Graphlets.html#performing-graphlet-decomposition">2. Performing graphlet decomposition</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="about-graphlets"></a>1. Introduction</h2></div></div></div>
|
||||
<p>
|
||||
Graphlet decomposition models a weighted undirected graph
|
||||
via the union of potentially overlapping dense social groups.
|
||||
This is done by a two-step algorithm. In the first step, a candidate
|
||||
set of groups (a candidate basis) is created by finding cliques
|
||||
in the thresholded input graph. In the second step,
|
||||
the graph is projected onto the candidate basis, resulting in a
|
||||
weight coefficient for each clique in the candidate basis.
|
||||
</p>
|
||||
<p>
|
||||
For more information on graphlet decomposition, see
|
||||
Hossein Azari Soufiani and Edoardo M Airoldi: "Graphlet decomposition of a weighted network",
|
||||
<a class="ulink" href="https://arxiv.org/abs/1203.2821" target="_top">https://arxiv.org/abs/1203.2821</a> and <a class="ulink" href="http://proceedings.mlr.press/v22/azari12/azari12.pdf" target="_top">http://proceedings.mlr.press/v22/azari12/azari12.pdf</a>
|
||||
</p>
|
||||
<p>
|
||||
igraph contains three functions for performing the graphlet
|
||||
decomponsition of a graph. The first is <a class="link" href="igraph-Graphlets.html#igraph_graphlets" title="2.1. igraph_graphlets — Calculate graphlets basis and project the graph on it."><code class="function">igraph_graphlets()</code></a>, which
|
||||
performs both steps of the method and returns a list of subgraphs
|
||||
with their corresponding weights. The other two functions
|
||||
correspond to the first and second steps of the algorithm, and they are
|
||||
useful if the user wishes to perform them individually:
|
||||
<a class="link" href="igraph-Graphlets.html#igraph_graphlets_candidate_basis" title="2.2. igraph_graphlets_candidate_basis — Calculate a candidate graphlets basis"><code class="function">igraph_graphlets_candidate_basis()</code></a> and
|
||||
<a class="link" href="igraph-Graphlets.html#igraph_graphlets_project" title="2.3. igraph_graphlets_project — Project a graph on a graphlets basis."><code class="function">igraph_graphlets_project()</code></a>.
|
||||
</p>
|
||||
<p>
|
||||
<em><span class="remark">
|
||||
Note: The term "graphlet" is used for several unrelated concepts
|
||||
in the literature. If you are looking to count induced subgraphs, see
|
||||
<a class="link" href="igraph-Motifs.html#igraph_motifs_randesu" title="4.1. igraph_motifs_randesu — Count the number of motifs in a graph."><code class="function">igraph_motifs_randesu()</code></a> and <a class="link" href="igraph-Isomorphism.html#igraph_subisomorphic_lad" title="4.1. igraph_subisomorphic_lad — Check subgraph isomorphism with the LAD algorithm"><code class="function">igraph_subisomorphic_lad()</code></a>.
|
||||
</span></em>
|
||||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="performing-graphlet-decomposition"></a>2. Performing graphlet decomposition</h2></div></div></div>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="section"><a href="igraph-Graphlets.html#igraph_graphlets">2.1. <code class="function">igraph_graphlets</code> — Calculate graphlets basis and project the graph on it.</a></span></dt>
|
||||
<dt><span class="section"><a href="igraph-Graphlets.html#igraph_graphlets_candidate_basis">2.2. <code class="function">igraph_graphlets_candidate_basis</code> — Calculate a candidate graphlets basis</a></span></dt>
|
||||
<dt><span class="section"><a href="igraph-Graphlets.html#igraph_graphlets_project">2.3. <code class="function">igraph_graphlets_project</code> — Project a graph on a graphlets basis.</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="igraph_graphlets"></a>2.1. <code class="function">igraph_graphlets</code> — Calculate graphlets basis and project the graph on it.</h3></div></div></div>
|
||||
<a class="indexterm" name="id-1.27.3.2.2"></a><p>
|
||||
</p>
|
||||
<div class="informalexample"><pre class="programlisting">
|
||||
igraph_error_t igraph_graphlets(const igraph_t *graph,
|
||||
const igraph_vector_t *weights,
|
||||
igraph_vector_int_list_t *cliques,
|
||||
igraph_vector_t *Mu, igraph_int_t niter);
|
||||
</pre></div>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
|
||||
|
||||
|
||||
This function simply calls <a class="link" href="igraph-Graphlets.html#igraph_graphlets_candidate_basis" title="2.2. igraph_graphlets_candidate_basis — Calculate a candidate graphlets basis"><code class="function">igraph_graphlets_candidate_basis()</code></a>
|
||||
and <a class="link" href="igraph-Graphlets.html#igraph_graphlets_project" title="2.3. igraph_graphlets_project — Project a graph on a graphlets basis."><code class="function">igraph_graphlets_project()</code></a>, and then orders the graphlets
|
||||
according to decreasing weights.
|
||||
|
||||
</p>
|
||||
<p><b>Arguments: </b>
|
||||
</p>
|
||||
<div class="variablelist"><table border="0" class="variablelist">
|
||||
<colgroup>
|
||||
<col align="left" valign="top">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>graph</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
The input graph, it must be a simple graph, edge directions are
|
||||
ignored.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>weights</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
Weights of the edges, a vector.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>cliques</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
An initialized list of integer vectors. The graphlet basis is
|
||||
stored here. Each element of the list is an integer vector of
|
||||
vertex IDs, encoding a single basis subgraph.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>Mu</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
An initialized vector, the weights of the graphlets will
|
||||
be stored here.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>niter</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
The number of iterations to perform for the projection step.
|
||||
</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<p>
|
||||
</p>
|
||||
<p><b>Returns: </b></p>
|
||||
<div class="variablelist"><table border="0" class="variablelist">
|
||||
<colgroup>
|
||||
<col align="left" valign="top">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td><p><span class="term"><em class="parameter"><code></code></em></span></p></td>
|
||||
<td><p>
|
||||
Error code.
|
||||
</p></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<p>
|
||||
|
||||
See also: <a class="link" href="igraph-Graphlets.html#igraph_graphlets_candidate_basis" title="2.2. igraph_graphlets_candidate_basis — Calculate a candidate graphlets basis"><code class="function">igraph_graphlets_candidate_basis()</code></a> and
|
||||
<a class="link" href="igraph-Graphlets.html#igraph_graphlets_project" title="2.3. igraph_graphlets_project — Project a graph on a graphlets basis."><code class="function">igraph_graphlets_project()</code></a>.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="igraph_graphlets_candidate_basis"></a>2.2. <code class="function">igraph_graphlets_candidate_basis</code> — Calculate a candidate graphlets basis</h3></div></div></div>
|
||||
<a class="indexterm" name="id-1.27.3.3.2"></a><p>
|
||||
</p>
|
||||
<div class="informalexample"><pre class="programlisting">
|
||||
igraph_error_t igraph_graphlets_candidate_basis(const igraph_t *graph,
|
||||
const igraph_vector_t *weights,
|
||||
igraph_vector_int_list_t *cliques,
|
||||
igraph_vector_t *thresholds);
|
||||
</pre></div>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
<p><b>Arguments: </b>
|
||||
</p>
|
||||
<div class="variablelist"><table border="0" class="variablelist">
|
||||
<colgroup>
|
||||
<col align="left" valign="top">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>graph</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
The input graph, it must be a simple graph, edge directions are
|
||||
ignored.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>weights</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
Weights of the edges, a vector.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>cliques</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
An initialized list of integer vectors. The graphlet basis is
|
||||
stored here. Each element of the list is an integer vector of
|
||||
vertex IDs, encoding a single basis subgraph.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>thresholds</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
An initialized vector, the (highest possible)
|
||||
weight thresholds for finding the basis subgraphs are stored
|
||||
here.
|
||||
</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<p>
|
||||
</p>
|
||||
<p><b>Returns: </b></p>
|
||||
<div class="variablelist"><table border="0" class="variablelist">
|
||||
<colgroup>
|
||||
<col align="left" valign="top">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td><p><span class="term"><em class="parameter"><code></code></em></span></p></td>
|
||||
<td><p>
|
||||
Error code.
|
||||
</p></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<p>
|
||||
|
||||
See also: <a class="link" href="igraph-Graphlets.html#igraph_graphlets" title="2.1. igraph_graphlets — Calculate graphlets basis and project the graph on it."><code class="function">igraph_graphlets()</code></a> and <a class="link" href="igraph-Graphlets.html#igraph_graphlets_project" title="2.3. igraph_graphlets_project — Project a graph on a graphlets basis."><code class="function">igraph_graphlets_project()</code></a>.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="igraph_graphlets_project"></a>2.3. <code class="function">igraph_graphlets_project</code> — Project a graph on a graphlets basis.</h3></div></div></div>
|
||||
<a class="indexterm" name="id-1.27.3.4.2"></a><p>
|
||||
</p>
|
||||
<div class="informalexample"><pre class="programlisting">
|
||||
igraph_error_t igraph_graphlets_project(const igraph_t *graph,
|
||||
const igraph_vector_t *weights,
|
||||
const igraph_vector_int_list_t *cliques,
|
||||
igraph_vector_t *Mu, igraph_bool_t startMu,
|
||||
igraph_int_t niter);
|
||||
</pre></div>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
|
||||
|
||||
|
||||
Note that the graph projected does not have to be the same that
|
||||
was used to calculate the graphlet basis, but it is assumed that
|
||||
it has the same number of vertices, and the vertex IDs of the two
|
||||
graphs match.
|
||||
|
||||
</p>
|
||||
<p><b>Arguments: </b>
|
||||
</p>
|
||||
<div class="variablelist"><table border="0" class="variablelist">
|
||||
<colgroup>
|
||||
<col align="left" valign="top">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>graph</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
The input graph, it must be a simple graph, edge directions are
|
||||
ignored.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>weights</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
Weights of the edges in the input graph, a vector.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>cliques</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
An initialized list of integer vectors. The graphlet basis is
|
||||
stored here. Each element of the list is an integer vector of
|
||||
vertex IDs, encoding a single basis subgraph.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>Mu</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
An initialized vector, the weights of the graphlets will
|
||||
be stored here. This vector is also used to initialize the
|
||||
the weight vector for the iterative algorithm, if the
|
||||
<code class="constant">startMu</code> argument is true.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>startMu</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
If true, then the supplied Mu vector is
|
||||
used as the starting point of the iteration. Otherwise a
|
||||
constant 1 vector is used.
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term"><em class="parameter"><code>niter</code></em>:</span></p></td>
|
||||
<td><p>
|
||||
The number of iterations to perform.
|
||||
</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<p>
|
||||
</p>
|
||||
<p><b>Returns: </b></p>
|
||||
<div class="variablelist"><table border="0" class="variablelist">
|
||||
<colgroup>
|
||||
<col align="left" valign="top">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody><tr>
|
||||
<td><p><span class="term"><em class="parameter"><code></code></em></span></p></td>
|
||||
<td><p>
|
||||
Error code.
|
||||
</p></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
<p>
|
||||
|
||||
See also: <a class="link" href="igraph-Graphlets.html#igraph_graphlets" title="2.1. igraph_graphlets — Calculate graphlets basis and project the graph on it."><code class="function">igraph_graphlets()</code></a> and
|
||||
<a class="link" href="igraph-Graphlets.html#igraph_graphlets_candidate_basis" title="2.2. igraph_graphlets_candidate_basis — Calculate a candidate graphlets basis"><code class="function">igraph_graphlets_candidate_basis()</code></a>.
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="navigation-footer" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle">
|
||||
<td align="left"><a accesskey="p" href="igraph-Community.html"><b>← Chapter 25. Detecting community structure</b></a></td>
|
||||
<td align="right"><a accesskey="n" href="igraph-HRG.html"><b>Chapter 27. Hierarchical random graphs →</b></a></td>
|
||||
</tr></table>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user