summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarrod Millman <jarrod.millman@gmail.com>2021-05-18 11:12:54 -0700
committerGitHub <noreply@github.com>2021-05-18 11:12:54 -0700
commitd30bd7f25de53a8de47df326613f2681cf5e171a (patch)
tree06074875a195a977334045ec2804b446fa71a691
parent44680a2466c3c429d9c01f55d71952efbb09b25c (diff)
downloadnetworkx-d30bd7f25de53a8de47df326613f2681cf5e171a.tar.gz
Restructure documentation (#4744)
* Move credit to dev guide * Simplify menu * Reclaim empty sidebar space * Simplify release log * Cleanup bibliography * Clean up
-rw-r--r--LICENSE.txt3
-rw-r--r--doc/bibliography.rst63
-rw-r--r--doc/citing.rst18
-rw-r--r--doc/conf.py11
-rw-r--r--doc/developer/about_us.rst (renamed from doc/credits.rst)0
-rw-r--r--doc/developer/index.rst6
-rw-r--r--doc/developer/team.rst (renamed from doc/team.rst)0
-rw-r--r--doc/index.rst94
-rw-r--r--doc/license.rst1
-rw-r--r--doc/release/api_0.99.rst37
-rw-r--r--doc/release/api_1.0.rst55
-rw-r--r--doc/release/api_1.10.rst45
-rw-r--r--doc/release/api_1.11.rst20
-rw-r--r--doc/release/api_1.4.rst34
-rw-r--r--doc/release/api_1.5.rst66
-rw-r--r--doc/release/api_1.6.rst21
-rw-r--r--doc/release/api_1.7.rst22
-rw-r--r--doc/release/api_1.8.rst31
-rw-r--r--doc/release/api_1.9.rst25
-rw-r--r--doc/release/index.rst4
-rw-r--r--doc/release/old_release_log.rst (renamed from doc/news.rst)32
-rw-r--r--doc/release/release_2.0.rst19
-rw-r--r--doc/release/release_2.1.rst17
-rw-r--r--doc/release/release_2.2.rst14
-rw-r--r--doc/release/release_2.3.rst13
-rw-r--r--doc/release/release_2.4.rst18
-rw-r--r--doc/release/release_2.5.rst18
-rw-r--r--doc/release/release_dev.rst18
-rw-r--r--doc/release/release_template.rst17
-rw-r--r--networkx/algorithms/graphical.py33
30 files changed, 476 insertions, 279 deletions
diff --git a/LICENSE.txt b/LICENSE.txt
index 0ad3043e..d5638c79 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,6 +1,3 @@
-License
-=======
-
NetworkX is distributed with the 3-clause BSD license.
::
diff --git a/doc/bibliography.rst b/doc/bibliography.rst
deleted file mode 100644
index f619091a..00000000
--- a/doc/bibliography.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-Bibliography
-============
-
-.. [BA02] R. Albert and A.-L. Barabási, "Statistical mechanics of complex
- networks", Reviews of Modern Physics, 74, pp. 47-97, 2002.
- https://arxiv.org/abs/cond-mat/0106096
-
-.. [Bollobas01] B. Bollobás, "Random Graphs", Second Edition,
- Cambridge University Press, 2001.
-
-.. [BE05] U. Brandes and T. Erlebach, "Network Analysis:
- Methodological Foundations", Lecture Notes in Computer Science,
- Volume 3418, Springer-Verlag, 2005.
-
-.. [CL1996] G. Chartrand and L. Lesniak, "Graphs and Digraphs",
- Chapman and Hall/CRC, 1996.
-
-.. [choudum1986] S.A. Choudum. "A simple proof of the Erdős-Gallai theorem on
- graph sequences." Bulletin of the Australian Mathematical Society, 33,
- pp 67-70, 1986. https://doi.org/10.1017/S0004972700002872
-
-.. [Diestel97] R. Diestel, "Graph Theory", Springer-Verlag, 1997.
- http://diestel-graph-theory.com/index.html
-
-.. [DM03] S.N. Dorogovtsev and J.F.F. Mendes, "Evolution of Networks",
- Oxford University Press, 2003.
-
-.. [EppsteinPads] David Eppstein.
- PADS, A library of Python Algorithms and Data Structures.
- http://www.ics.uci.edu/~eppstein/PADS
-
-.. [EG1960] Erdős and Gallai, Mat. Lapok 11 264, 1960.
-
-.. [hakimi1962] Hakimi, S. "On the Realizability of a Set of Integers as
- Degrees of the Vertices of a Graph." SIAM J. Appl. Math. 10, 496-506, 1962.
-
-.. [havel1955] Havel, V. "A Remark on the Existence of Finite Graphs"
- Casopis Pest. Mat. 80, 477-480, 1955.
-
-.. [Langtangen04] H.P. Langtangen, "Python Scripting for Computational
- Science.", Springer Verlag Series in Computational Science and
- Engineering, 2004.
-
-.. [Martelli03] A. Martelli, "Python in a Nutshell", O'Reilly Media
- Inc, 2003.
-
-.. [Newman03] M.E.J. Newman, "The Structure and Function of Complex
- Networks", SIAM Review, 45, pp. 167-256, 2003.
- http://epubs.siam.org/doi/abs/10.1137/S003614450342480
-
-.. [Sedgewick02] R. Sedgewick, "Algorithms in C: Parts 1-4:
- Fundamentals, Data Structure, Sorting, Searching", Addison Wesley
- Professional, 3rd ed., 2002.
-
-.. [Sedgewick01] R. Sedgewick, "Algorithms in C, Part 5: Graph Algorithms",
- Addison Wesley Professional, 3rd ed., 2001.
-
-.. [West01] D. B. West, "Introduction to Graph Theory", Prentice Hall,
- 2nd ed., 2001.
-
-.. [vanRossum98] Guido van Rossum. Python Patterns - Implementing Graphs, 1998.
- https://www.python.org/doc/essays/graphs
-
diff --git a/doc/citing.rst b/doc/citing.rst
deleted file mode 100644
index ce818cc3..00000000
--- a/doc/citing.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-Citing
-======
-
-To cite NetworkX please use the following publication:
-
-Aric A. Hagberg, Daniel A. Schult and Pieter J. Swart,
-`"Exploring network structure, dynamics, and function using NetworkX"
-<http://conference.scipy.org/proceedings/SciPy2008/paper_2/>`_,
-in
-`Proceedings of the 7th Python in Science Conference (SciPy2008)
-<http://conference.scipy.org/proceedings/SciPy2008/index.html>`_, Gäel
-Varoquaux, Travis Vaught, and Jarrod Millman (Eds), (Pasadena, CA
-USA), pp. 11--15, Aug 2008
-
-.. only:: html
-
- `PDF <http://conference.scipy.org/proceedings/SciPy2008/paper_2/full_text.pdf>`_
- `BibTeX <http://conference.scipy.org/proceedings/SciPy2008/paper_2/reference.bib>`_
diff --git a/doc/conf.py b/doc/conf.py
index 64b815f0..3b373dac 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -124,7 +124,7 @@ html_baseurl = "https://networkx.org/documentation/stable/"
html_theme = "pydata_sphinx_theme"
html_theme_options = {
"collapse_navigation": True,
- "navigation_depth": 3,
+ "navigation_depth": 2,
"show_prev_next": False,
"icon_links": [
{
@@ -139,8 +139,15 @@ html_theme_options = {
},
],
"navbar_end": ["navbar-icon-links", "version"],
+ "page_sidebar_items": ["search-field", "page-toc", "edit-this-page"],
+}
+html_sidebars = {
+ "**": ["sidebar-nav-bs", "sidebar-ethical-ads"],
+ "index": [],
+ "install": [],
+ "tutorial": [],
+ "auto_examples/index": [],
}
-
html_logo = "_static/networkx_banner.svg"
# The style sheet to use for HTML and HTML Help pages. A file of that name
diff --git a/doc/credits.rst b/doc/developer/about_us.rst
index 425b334f..425b334f 100644
--- a/doc/credits.rst
+++ b/doc/developer/about_us.rst
diff --git a/doc/developer/index.rst b/doc/developer/index.rst
index 3d971d4d..1888ae99 100644
--- a/doc/developer/index.rst
+++ b/doc/developer/index.rst
@@ -3,9 +3,15 @@
Developer Guide
***************
+.. only:: html
+
+ :Release: |version|
+ :Date: |today|
+
.. toctree::
:maxdepth: 2
+ about_us
code_of_conduct
values
contribute
diff --git a/doc/team.rst b/doc/developer/team.rst
index 1b974647..1b974647 100644
--- a/doc/team.rst
+++ b/doc/developer/team.rst
diff --git a/doc/index.rst b/doc/index.rst
index 832e021e..c9f98fec 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -3,10 +3,14 @@
Software for Complex Networks
=============================
+.. only:: html
+
+ :Release: |version|
+ :Date: |today|
+
NetworkX is a Python package for the creation, manipulation, and study
of the structure, dynamics, and functions of complex networks.
-
-NetworkX provides:
+It provides:
- tools for the study of the structure and
dynamics of social, biological, and infrastructure networks;
@@ -23,6 +27,25 @@ formats, generate many types of random and classic networks, analyze network
structure, build network models, design new network algorithms, draw networks,
and much more.
+Citing
+------
+
+To cite NetworkX please use the following publication:
+
+Aric A. Hagberg, Daniel A. Schult and Pieter J. Swart,
+`"Exploring network structure, dynamics, and function using NetworkX"
+<http://conference.scipy.org/proceedings/SciPy2008/paper_2/>`_,
+in
+`Proceedings of the 7th Python in Science Conference (SciPy2008)
+<http://conference.scipy.org/proceedings/SciPy2008/index.html>`_, Gäel
+Varoquaux, Travis Vaught, and Jarrod Millman (Eds), (Pasadena, CA
+USA), pp. 11--15, Aug 2008
+
+.. only:: html
+
+ `PDF <http://conference.scipy.org/proceedings/SciPy2008/paper_2/full_text.pdf>`_
+ `BibTeX <http://conference.scipy.org/proceedings/SciPy2008/paper_2/reference.bib>`_
+
Audience
--------
@@ -47,48 +70,55 @@ to write basic programs in Python. Among the many guides to Python, we
recommend the `Python documentation <https://docs.python.org/3/>`_ and the text
by Alex Martelli [Martelli03]_.
-Free software
--------------
+License
+-------
-NetworkX is free software; you can redistribute it and/or modify it under the
-terms of the :doc:`3-clause BSD License </license>`. We welcome contributions.
-Join us on `GitHub <https://github.com/networkx/networkx>`_.
+.. include:: ../LICENSE.txt
-History
--------
+Bibliography
+------------
-NetworkX was born in May 2002. The original version was designed and written by
-Aric Hagberg, Dan Schult, and Pieter Swart in 2002 and 2003. The first public
-release was in April 2005.
-Many people have contributed to the success of NetworkX. Some of the
-contributors are listed in the :doc:`credits. <credits>`
+.. [BA02] R. Albert and A.-L. Barabási, "Statistical mechanics of complex
+ networks", Reviews of Modern Physics, 74, pp. 47-97, 2002.
+ https://arxiv.org/abs/cond-mat/0106096
-Documentation
--------------
+.. [Bollobas01] B. Bollobás, "Random Graphs", Second Edition,
+ Cambridge University Press, 2001.
-.. only:: html
+.. [BE05] U. Brandes and T. Erlebach, "Network Analysis:
+ Methodological Foundations", Lecture Notes in Computer Science,
+ Volume 3418, Springer-Verlag, 2005.
- :Release: |version|
- :Date: |today|
+.. [Diestel97] R. Diestel, "Graph Theory", Springer-Verlag, 1997.
+ http://diestel-graph-theory.com/index.html
+
+.. [DM03] S.N. Dorogovtsev and J.F.F. Mendes, "Evolution of Networks",
+ Oxford University Press, 2003.
+
+.. [Martelli03] A. Martelli, "Python in a Nutshell", O'Reilly Media
+ Inc, 2003.
+
+.. [Newman03] M.E.J. Newman, "The Structure and Function of Complex
+ Networks", SIAM Review, 45, pp. 167-256, 2003.
+ http://epubs.siam.org/doi/abs/10.1137/S003614450342480
+
+.. [Sedgewick02] R. Sedgewick, "Algorithms in C: Parts 1-4:
+ Fundamentals, Data Structure, Sorting, Searching", Addison Wesley
+ Professional, 3rd ed., 2002.
+
+.. [Sedgewick01] R. Sedgewick, "Algorithms in C, Part 5: Graph Algorithms",
+ Addison Wesley Professional, 3rd ed., 2001.
+
+.. [West01] D. B. West, "Introduction to Graph Theory", Prentice Hall,
+ 2nd ed., 2001.
.. toctree::
:maxdepth: 1
+ :hidden:
install
tutorial
auto_examples/index
reference/index
developer/index
- news
- license
- credits
- citing
- bibliography
-
-Indices and tables
-------------------
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-* :ref:`glossary`
+ release/index
diff --git a/doc/license.rst b/doc/license.rst
deleted file mode 100644
index 6e4c3433..00000000
--- a/doc/license.rst
+++ /dev/null
@@ -1 +0,0 @@
-.. include:: ../LICENSE.txt
diff --git a/doc/release/api_0.99.rst b/doc/release/api_0.99.rst
index e2d4f07b..27c0f322 100644
--- a/doc/release/api_0.99.rst
+++ b/doc/release/api_0.99.rst
@@ -1,6 +1,33 @@
-************************
-Version 0.99 API changes
-************************
+NetworkX 0.99
+=============
+
+Release date: 18 November 2008
+
+See: https://networkx.lanl.gov/trac/timeline
+
+New features
+------------
+This release has significant changes to parts of the graph API.
+See http://networkx.lanl.gov/reference/api_changes.html
+
+ - Update Graph and DiGraph classes to use weighted graphs as default
+ Change in API for performance and code simplicity.
+ - New MultiGraph and MultiDiGraph classes (replace XGraph and XDiGraph)
+ - Update to use Sphinx documentation system http://networkx.lanl.gov/
+ - Developer site at https://networkx.lanl.gov/trac/
+ - Experimental LabeledGraph and LabeledDiGraph
+ - Moved package and file layout to subdirectories.
+
+Bug fixes
+---------
+ - handle root= option to draw_graphviz correctly
+
+Examples
+--------
+ - Update to work with networkx-0.99 API
+ - Drawing examples now use matplotlib.pyplot interface
+ - Improved drawings in many examples
+ - New examples - see http://networkx.lanl.gov/examples/
The version networkx-0.99 is the penultimate release before
networkx-1.0. We have bumped the version from 0.37 to 0.99 to
@@ -16,7 +43,7 @@ Please send comments and questions to the networkx-discuss mailing list.
http://groups.google.com/group/networkx-discuss
Changes in base classes
-=======================
+-----------------------
The most significant changes are in the graph classes.
We have redesigned the Graph() and DiGraph() classes
@@ -294,7 +321,7 @@ Used internally - now called nbunch_iter and returns an iterator.
Converting your old code to Version 0.99
-========================================
+----------------------------------------
Mostly you can just run the code and python will raise an exception
for features that changed. Common places for changes are
diff --git a/doc/release/api_1.0.rst b/doc/release/api_1.0.rst
index 0da87897..2446a707 100644
--- a/doc/release/api_1.0.rst
+++ b/doc/release/api_1.0.rst
@@ -1,20 +1,41 @@
-*********************************
-Version 1.0 notes and API changes
-*********************************
+NetworkX 1.0
+============
-We have made some significant API changes, detailed below, to add
-functionality and clarity. This page reflects changes from
-networkx-0.99 to networkx-1.0. For changes from earlier versions to
-networkx-0.99 see :doc:`Version 0.99 API changes <api_0.99>`.
+Release date: 8 Jan 2010
Version 1.0 requires Python 2.4 or greater.
-Please send comments and questions to the networkx-discuss mailing list:
-http://groups.google.com/group/networkx-discuss .
+
+New features
+------------
+This release has significant changes to parts of the graph API
+to allow graph, node, and edge attributes.
+See http://networkx.lanl.gov/reference/api_changes.html
+
+ - Update Graph, DiGraph, and MultiGraph classes to allow attributes.
+ - Default edge data is now an empty dictionary (was the integer 1)
+ - Difference and intersection operators
+ - Average shortest path
+ - A* (A-Star) algorithm
+ - PageRank, HITS, and eigenvector centrality
+ - Read Pajek files
+ - Line graphs
+ - Minimum spanning tree (Kruskal's algorithm)
+ - Dense and sparse Fruchterman-Reingold layout
+ - Random clustered graph generator
+ - Directed scale-free graph generator
+ - Faster random regular graph generator
+ - Improved edge color and label drawing with Matplotlib
+ - and much more, see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.0
+
+Examples
+--------
+ - Update to work with networkx-1.0 API
+ - Graph subclass example
Version numbering
-=================
+-----------------
In the future we will use a more standard release numbering system
with major.minor[build] labels where major and minor are numbers and
@@ -28,7 +49,7 @@ bugs or other defects in the existing classes, until networkx-2.0 is
released at some time in the future.
Changes in base classes
-=======================
+-----------------------
The most significant changes in are in the graph classes. All of the
graph classes now allow optional graph, node, and edge attributes. Those
@@ -36,7 +57,7 @@ attributes are stored internally in the graph classes as dictionaries
and can be accessed simply like Python dictionaries in most cases.
Graph attributes
-----------------
+^^^^^^^^^^^^^^^^
Each graph keeps a dictionary of key=value attributes
in the member G.graph. These attributes can be accessed
directly using G.graph or added at instantiation using
@@ -48,7 +69,7 @@ keyword arguments.
{'region': 'Africa', 'color': 'green'}
Node attributes
----------------
+^^^^^^^^^^^^^^^
Each node has a corresponding dictionary of attributes.
Adding attributes to nodes is optional.
@@ -63,7 +84,7 @@ Add node attributes using add_node(), add_nodes_from() or G.node
[(1, {'room': 714, 'time': '5pm'}), (3, {'time': '2pm'})]
Edge attributes
----------------
+^^^^^^^^^^^^^^^
Each edge has a corresponding dictionary of attributes.
The default edge data is now an empty dictionary of attributes
and adding attributes to edges is optional.
@@ -247,7 +268,7 @@ UbiGraph
Additional functions/generators
-===============================
+-------------------------------
ego_graph, stochastic_graph, PageRank algorithm, HITS algorithm,
GraphML writer, freeze, is_frozen, A* algorithm,
@@ -255,10 +276,10 @@ directed scale-free generator, random clustered graph.
Converting your existing code to networkx-1.0
-=============================================
+---------------------------------------------
Weighted edges
---------------
+^^^^^^^^^^^^^^
Edge information is now stored in an attribution dictionary
so all edge data must be given a key to identify it.
diff --git a/doc/release/api_1.10.rst b/doc/release/api_1.10.rst
index d5412c89..caa32d6f 100644
--- a/doc/release/api_1.10.rst
+++ b/doc/release/api_1.10.rst
@@ -1,12 +1,39 @@
-**********************************
-Version 1.10 notes and API changes
-**********************************
-
-This page includes more detailed release information and API changes from
-NetworkX 1.9 to NetworkX 1.10.
-
-Please send comments and questions to the networkx-discuss mailing list:
-<http://groups.google.com/group/networkx-discuss>.
+NetworkX 1.10
+=============
+
+Release date: 2 August 2015
+
+Support for Python 2.6 is dropped in this release.
+
+Highlights
+~~~~~~~~~~
+
+- Connected components now return generators
+- new functions including
+
+ + enumerate_all_cliques, greedy_coloring, edge_dfs, find_cycle
+ immediate_dominators, harmonic_centrality
+ + Hopcraft--Karp algorithm for maximum matchings
+ + optimum branchings and arborescences.
+ + all_simple_paths
+
+- pyparsing dependence removed from GML reader/parser
+- improve flow algorithms
+- new generators related to expander graphs.
+- new generators for multipartite graphs, nonisomorphic trees,
+ circulant graphs
+- allow graph subclasses to use dict-like objects in place of dicts
+- added ordered graph subclasses
+- pandas dataframe read/write added.
+- data keyword in G.edges() allows requesting edge attribute directly
+- expanded layout flexibility for node subsets
+- Kanesky's algorithm for cut sets and k_components
+- power function for graphs
+- approximation of node connectivity
+- transitive closure, triadic census and antichains
+- quotient graphs and minors
+- longest_path for DAGS
+- modularity matrix routines
API changes
-----------
diff --git a/doc/release/api_1.11.rst b/doc/release/api_1.11.rst
index 6a0520a1..73269c7e 100644
--- a/doc/release/api_1.11.rst
+++ b/doc/release/api_1.11.rst
@@ -1,12 +1,18 @@
-**********************************
-Version 1.11 notes and API changes
-**********************************
+NetworkX 1.11
+=============
-This page includes more detailed release information and API changes from
-NetworkX 1.10 to NetworkX 1.11.
+Release date: 30 January 2016
-Please send comments and questions to the networkx-discuss mailing list:
-<http://groups.google.com/group/networkx-discuss>.
+Support for Python 3.5 added, drop support for Python 3.2.
+
+Highlights
+~~~~~~~~~~
+
+Pydot features now use pydotplus.
+Fixes installation on some machines and test with appveyor.
+Restores default center and scale of layout routines.
+Fixes various docs including no symbolic links in examples.
+Docs can now build using autosummary on readthedocs.org.
API changes
-----------
diff --git a/doc/release/api_1.4.rst b/doc/release/api_1.4.rst
index 0f809860..b4bd25b2 100644
--- a/doc/release/api_1.4.rst
+++ b/doc/release/api_1.4.rst
@@ -1,14 +1,30 @@
-*********************************
-Version 1.4 notes and API changes
-*********************************
+NetworkX 1.4
+============
-We have made some API changes, detailed below, to add clarity.
-This page reflects changes from networkx-1.3 to networkx-1.4.
-For changes from earlier versions to networkx-1.0 see
-:doc:`Version 1.0 API changes <api_1.0>`.
+Release date: 23 January 2011
-Please send comments and questions to the networkx-discuss mailing list:
-http://groups.google.com/group/networkx-discuss .
+New features
+------------
+ - :mod:`k-shell,k-crust,k-corona <networkx.algorithms.core>`
+ - :mod:`read GraphML files from yEd <networkx.readwrite.graphml>`
+ - :mod:`read/write GEXF format files <networkx.readwrite.gexf>`
+ - :mod:`find cycles in a directed graph <networkx.algorithms.cycles>`
+ - :mod:`DFS <networkx.algorithms.traversal.depth_first_search>` and :mod:`BFS <networkx.algorithms.traversal.breadth_first_search>` algorithms
+ - :mod:`chordal graph functions <networkx.algorithms.chordal.chordal_alg>`
+ - :mod:`Prim's algorithm for minimum spanning tree <networkx.algorithms.mst>`
+ - :mod:`r-ary tree generator <networkx.generators.classic>`
+ - :mod:`rich club coefficient <networkx.algorithms.richclub>`
+ - NumPy matrix version of :mod:`Floyd's algorithm for all-pairs shortest path <networkx.algorithms.shortest_paths.dense>`
+ - :mod:`read GIS shapefiles <networkx.readwrite.nx_shp>`
+ - :mod:`functions to get and set node and edge attributes <networkx.classes.function>`
+ - and more, see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.4
+
+API changes
+-----------
+ - :mod:`gnp_random_graph() <networkx.generators.random_graphs>` now takes a
+ directed=True|False keyword instead of create_using
+ - :mod:`gnm_random_graph() <networkx.generators.random_graphs>` now takes a
+ directed=True|False keyword instead of create_using
Algorithms changed
diff --git a/doc/release/api_1.5.rst b/doc/release/api_1.5.rst
index bda3d36a..9eeb87c2 100644
--- a/doc/release/api_1.5.rst
+++ b/doc/release/api_1.5.rst
@@ -1,11 +1,35 @@
-*********************************
-Version 1.5 notes and API changes
-*********************************
+NetworkX 1.5
+============
-This page reflects API changes from networkx-1.4 to networkx-1.5.
+Release date: 4 June 2011
-Please send comments and questions to the networkx-discuss mailing list:
-http://groups.google.com/group/networkx-discuss .
+Highlights
+~~~~~~~~~~
+
+New features
+~~~~~~~~~~~~
+ - Algorithms for :mod:`generating <networkx.generators.bipartite>`
+ and :mod:`analyzing <networkx.algorithms.bipartite>` bipartite graphs
+ - :mod:`Maximal independent set <networkx.algorithms.mis>` algorithm
+ - :mod:`Erdős-Gallai graphical degree sequence test <networkx.generators.degree_seq>`
+ - :mod:`Negative edge cycle test <networkx.algorithms.shortest_paths.weighted>`
+ - More memory efficient :mod:`Dijkstra path length <networkx.algorithms.shortest_paths.weighted>` with cutoff parameter
+ - :mod:`Weighted clustering coefficient <networkx.algorithms.cluster>`
+ - Read and write version 1.2 of :mod:`GEXF reader <networkx.readwrite.gexf>` format
+ - :mod:`Neighbor degree correlation <networkx.algorithms.neighbor_degree>`
+ that handle subsets of nodes
+ - :mod:`In-place node relabeling <networkx.relabel>`
+ - Many 'weighted' graph algorithms now take optional parameter to use
+ specified edge attribute (default='weight')
+ (ticket https://networkx.lanl.gov/trac/ticket/509)
+
+ - Test for :mod:`distance regular <networkx.algorithms.distance_regular>` graphs
+ - Fast :mod:`directed Erdős-Renyi graph <networkx.generators.random_graphs>` generator
+ - Fast :mod:`expected degree graph <networkx.generators.degree_seq>` generator
+ - :mod:`Navigable small world <networkx.generators.geometric>` generator
+ - :mod:`Waxman model <networkx.generators.geometric>` generator
+ - :mod:`Geographical threshold graph <networkx.generators.geometric>` generator
+ - :mod:`Karate Club, Florentine Families, and Davis' Women's Club <networkx.generators.social>` graphs
Weighted graph algorithms
-------------------------
@@ -45,3 +69,33 @@ The random geometric graph generator has been simplified.
It no longer supports the create_using, repel, or verbose parameters.
An optional pos keyword was added to allow specification of node positions.
+Bug fixes
+~~~~~~~~~
+ - Fix edge handling for multigraphs in networkx/graphviz interface
+ (ticket https://networkx.lanl.gov/trac/ticket/507)
+ - Update networkx/pydot interface for new versions of pydot
+ (ticket https://networkx.lanl.gov/trac/ticket/506)
+ (ticket https://networkx.lanl.gov/trac/ticket/535)
+ - Fix negative cycle handling in Bellman-Ford
+ (ticket https://networkx.lanl.gov/trac/ticket/502)
+ - Write more attributes with GraphML and GML formats
+ (ticket https://networkx.lanl.gov/trac/ticket/480)
+ - Handle white space better in read_edgelist
+ (ticket https://networkx.lanl.gov/trac/ticket/513)
+ - Better parsing of Pajek format files
+ (ticket https://networkx.lanl.gov/trac/ticket/524)
+ (ticket https://networkx.lanl.gov/trac/ticket/542)
+ - Isolates functions work with directed graphs
+ (ticket https://networkx.lanl.gov/trac/ticket/526)
+ - Faster conversion to numpy matrices
+ (ticket https://networkx.lanl.gov/trac/ticket/529)
+ - Add graph['name'] and use properties to access Graph.name
+ (ticket https://networkx.lanl.gov/trac/ticket/544)
+ - Topological sort confused None and 0
+ (ticket https://networkx.lanl.gov/trac/ticket/546)
+ - GEXF writer mishandled weight=0
+ (ticket https://networkx.lanl.gov/trac/ticket/550)
+ - Speedup in SciPy version of PageRank
+ (ticket https://networkx.lanl.gov/trac/ticket/554)
+ - Numpy PageRank node order incorrect + speedups
+ (ticket https://networkx.lanl.gov/trac/ticket/555)
diff --git a/doc/release/api_1.6.rst b/doc/release/api_1.6.rst
index bf992d3d..5832dd31 100644
--- a/doc/release/api_1.6.rst
+++ b/doc/release/api_1.6.rst
@@ -1,11 +1,20 @@
-*********************************
-Version 1.6 notes and API changes
-*********************************
+NetworkX 1.6
+============
-This page reflects API changes from networkx-1.5 to networkx-1.6.
+Release date: 20 November 2011
-Please send comments and questions to the networkx-discuss mailing list:
-http://groups.google.com/group/networkx-discuss .
+Highlights
+~~~~~~~~~~
+
+New functions for finding articulation points, generating random bipartite graphs, constructing adjacency matrix representations, forming graph products, computing assortativity coefficients, measuring subgraph centrality and communicability, finding k-clique communities, and writing JSON format output.
+
+New examples for drawing with D3 Javascript library, and ordering matrices with the Cuthill-McKee algorithm.
+
+More memory efficient implementation of current-flow betweenness and new approximation algorithms for current-flow betweenness and shortest-path betweenness.
+
+Simplified handling of "weight" attributes for algorithms that use weights/costs/values.
+
+Updated all code to work with the PyPy Python implementation http://pypy.org which produces faster performance on many algorithms.
Graph Classes
-------------
diff --git a/doc/release/api_1.7.rst b/doc/release/api_1.7.rst
index c1bc96f4..be8ca3bb 100644
--- a/doc/release/api_1.7.rst
+++ b/doc/release/api_1.7.rst
@@ -1,12 +1,22 @@
-*********************************
-Version 1.7 notes and API changes
-*********************************
+NetworkX 1.7
+============
-This page reflects API changes from networkx-1.6 to networkx-1.7.
+Release date: 4 July 2012
-Please send comments and questions to the networkx-discuss mailing list:
-http://groups.google.com/group/networkx-discuss .
+Highlights
+~~~~~~~~~~
+- New functions for k-clique community finding, flow hierarchy,
+ union, disjoint union, compose, and intersection operators that work on
+ lists of graphs, and creating the biadjacency matrix of a bipartite graph.
+
+- New approximation algorithms for dominating set, edge dominating set,
+ independent set, max clique, and min-weighted vertex cover.
+
+- Many bug fixes and other improvements.
+
+For full details of the tickets closed for this release (added features and bug fixes) see:
+https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.7
Other
-----
diff --git a/doc/release/api_1.8.rst b/doc/release/api_1.8.rst
index b7bcb772..d118afb3 100644
--- a/doc/release/api_1.8.rst
+++ b/doc/release/api_1.8.rst
@@ -1,11 +1,30 @@
-*********************************
-Version 1.8 notes and API changes
-*********************************
+NetworkX 1.8
+============
-This page reflects API changes from networkx-1.7 to networkx-1.8.
+Release date: 28 July 2013
-Please send comments and questions to the networkx-discuss mailing list:
-http://groups.google.com/group/networkx-discuss .
+Highlights
+~~~~~~~~~~
+- Faster (linear-time) graphicality tests and Havel-Hakimi graph generators
+- Directed Laplacian matrix generator
+- Katz centrality algorithm
+- Functions to generate all simple paths
+- Improved shapefile reader
+- More flexible weighted projection of bipartite graphs
+- Faster topological sort, descendants and ancestors of DAGs
+- Scaling parameter for force-directed layout
+
+Bug fixes
+~~~~~~~~~
+- Error with average weighted connectivity for digraphs, correct normalized laplacian with self-loops, load betweenness for single node graphs, isolated nodes missing from dfs/bfs trees, normalize HITS using l1, handle density of graphs with self loops
+
+- Cleaner handling of current figure status with Matplotlib, Pajek files now don't write troublesome header line, default alpha value for GEXF files, read curved edges from yEd GraphML
+
+
+For full details of the issues closed for this release (added features and bug fixes) see: https://github.com/networkx/networkx/issues?milestone=1&page=1&state=closed
+
+API changes
+~~~~~~~~~~~
* Laplacian functions now all return matrices. To get a numpy array from a matrix use L = nx.laplacian_matrix(G).A
diff --git a/doc/release/api_1.9.rst b/doc/release/api_1.9.rst
index fec61eb0..bc73e8f4 100644
--- a/doc/release/api_1.9.rst
+++ b/doc/release/api_1.9.rst
@@ -1,11 +1,22 @@
-*********************************
-Version 1.9 notes and API changes
-*********************************
-
-This page reflects API changes from NetworkX 1.8 to NetworkX 1.9.
+NetworkX 1.9
+============
-Please send comments and questions to the networkx-discuss mailing list:
-<http://groups.google.com/group/networkx-discuss>.
+Release date: 21 June 2014
+
+Support for Python 3.1 is dropped in this release.
+
+Highlights
+----------
+- Completely rewritten maximum flow and flow-based connectivity algorithms with
+ backwards incompatible interfaces
+- Community graph generators
+- Stoer–Wagner minimum cut algorithm
+- Linear-time Eulerian circuit algorithm
+- Linear algebra package changed to use SciPy sparse matrices
+- Algebraic connectivity, Fiedler vector, spectral ordering algorithms
+- Link prediction algorithms
+- Goldberg–Radzik shortest path algorithm
+- Semiconnected graph and tree recognition algorithms
Flow package
------------
diff --git a/doc/release/index.rst b/doc/release/index.rst
index 48f76df2..5935a94b 100644
--- a/doc/release/index.rst
+++ b/doc/release/index.rst
@@ -1,6 +1,3 @@
-:orphan:
-
-***********
API changes
***********
@@ -34,3 +31,4 @@ period.
api_1.4
api_1.0
api_0.99
+ old_release_log
diff --git a/doc/news.rst b/doc/release/old_release_log.rst
index f8955e06..02ff64e3 100644
--- a/doc/news.rst
+++ b/doc/release/old_release_log.rst
@@ -1,7 +1,7 @@
.. currentmodule:: networkx
-Release Log
-===========
+Old Release Log
+===============
NetworkX 2.5
------------
@@ -12,7 +12,7 @@ Supports Python 3.6, 3.7, and 3.8.
Release notes
~~~~~~~~~~~~~
-See :doc:`release/release_2.5`.
+See :doc:`release_2.5`.
NetworkX 2.4
@@ -25,7 +25,7 @@ This is the last release to support Python 3.5.
Release notes
~~~~~~~~~~~~~
-See :doc:`release/release_2.4`.
+See :doc:`release_2.4`.
NetworkX 2.3
@@ -38,7 +38,7 @@ This is our first Python 3 only release.
Release notes
~~~~~~~~~~~~~
-See :doc:`release/release_2.3`.
+See :doc:`release_2.3`.
NetworkX 2.2
@@ -51,7 +51,7 @@ This is the last release to support Python 2.
Release notes
~~~~~~~~~~~~~
-See :doc:`release/release_2.2`.
+See :doc:`release_2.2`.
NetworkX 2.1
@@ -63,7 +63,7 @@ Supports Python 2.7, 3.4, 3.5, and 3.6.
Release notes
~~~~~~~~~~~~~
-See :doc:`release/release_2.1`.
+See :doc:`release_2.1`.
NetworkX 2.0
@@ -72,12 +72,12 @@ Release date: 20 September 2017
Support for Python 3.6 added, drop support for Python 3.3.
-See :doc:`release/migration_guide_from_1.x_to_2.0`.
+See :doc:`migration_guide_from_1.x_to_2.0`.
Release notes
~~~~~~~~~~~~~
-See :doc:`release/release_2.0`.
+See :doc:`release_2.0`.
NetworkX 1.11
-------------
@@ -133,7 +133,7 @@ Highlights
API changes
~~~~~~~~~~~
-See :doc:`release/api_1.10`.
+See :doc:`api_1.10`.
NetworkX 1.9.1
--------------
@@ -162,7 +162,7 @@ Highlights
API changes
~~~~~~~~~~~
-See :doc:`release/api_1.9`.
+See :doc:`api_1.9`.
NetworkX 1.8.1
--------------
@@ -198,7 +198,7 @@ For full details of the issues closed for this release (added features and bug f
API changes
~~~~~~~~~~~
-See :doc:`release/api_1.8`
+See :doc:`api_1.8`
NetworkX 1.7
@@ -222,7 +222,7 @@ https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=net
API changes
~~~~~~~~~~~
-See :doc:`release/api_1.7`
+See :doc:`api_1.7`
NetworkX 1.6
@@ -239,7 +239,7 @@ New examples for drawing with D3 Javascript library, and ordering matrices with
More memory efficient implementation of current-flow betweenness and new approximation algorithms for current-flow betweenness and shortest-path betweenness.
-Simplified handling of "weight" attributes for algorithms that use weights/costs/values. See :doc:`release/api_1.6`.
+Simplified handling of "weight" attributes for algorithms that use weights/costs/values. See :doc:`api_1.6`.
Updated all code to work with the PyPy Python implementation http://pypy.org which produces faster performance on many algorithms.
@@ -248,7 +248,7 @@ https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=net
API changes
~~~~~~~~~~~
-See :doc:`release/api_1.6`
+See :doc:`api_1.6`
NetworkX 1.5
@@ -290,7 +290,7 @@ New features
API changes
~~~~~~~~~~~
-See :doc:`release/api_1.5`
+See :doc:`api_1.5`
Bug fixes
diff --git a/doc/release/release_2.0.rst b/doc/release/release_2.0.rst
index c2aa8792..8f27a91a 100644
--- a/doc/release/release_2.0.rst
+++ b/doc/release/release_2.0.rst
@@ -1,7 +1,12 @@
-Announcement: NetworkX 2.0
-==========================
+NetworkX 2.0
+============
+
+Release date: 20 September 2017
+
+Support for Python 3.6 added, drop support for Python 3.3.
+
+See :doc:`migration_guide_from_1.x_to_2.0`.
-We're happy to announce the release of NetworkX 2.0!
NetworkX is a Python package for the creation, manipulation, and study of the
structure, dynamics, and functions of complex networks.
@@ -216,8 +221,8 @@ The following deprecated functions will be removed in 2.1.
deprecated in favor of ``to_pandas_adjacency``, ``from_pandas_adjacency``,
``to_pandas_edgelist``, and ``from_pandas_edgelist``.
-Contributors to this release
-----------------------------
+Contributors
+------------
- Niels van Adrichem
- Kevin Arvai
@@ -307,8 +312,8 @@ Contributors to this release
- yash14123
- Neil Girdhar
-Pull requests merged in this release
-------------------------------------
+Merged PRs
+----------
- Gml read fix. (#1962)
- Small changes leftover from #1847 (#1966)
diff --git a/doc/release/release_2.1.rst b/doc/release/release_2.1.rst
index 5ad26aba..16e80ebd 100644
--- a/doc/release/release_2.1.rst
+++ b/doc/release/release_2.1.rst
@@ -1,7 +1,10 @@
-Announcement: NetworkX 2.1
-==========================
+NetworkX 2.1
+============
+
+Release date: 22 January 2018
+
+Supports Python 2.7, 3.4, 3.5, and 3.6.
-We're happy to announce the release of NetworkX 2.1!
NetworkX is a Python package for the creation, manipulation, and study of the
structure, dynamics, and functions of complex networks.
@@ -114,8 +117,8 @@ Deprecations
``weakly_connected_component_subgraphs``.
Instead use: ``[G.subgraph(c) for c in *_components]``
-Contributors to this release
-----------------------------
+Contributors
+------------
- Jack Amadeo
- Boskovits
@@ -156,8 +159,8 @@ Contributors to this release
- talhum
-Pull requests merged in this release
-------------------------------------
+Merged PRs
+----------
- Update Release Notes for v2.1 (#2839)
- Update release notes (#2838)
diff --git a/doc/release/release_2.2.rst b/doc/release/release_2.2.rst
index 9394c189..82b2651b 100644
--- a/doc/release/release_2.2.rst
+++ b/doc/release/release_2.2.rst
@@ -1,7 +1,11 @@
-Announcement: NetworkX 2.2
-==========================
+NetworkX 2.2
+============
+
+Release date: 19 September 2018
+
+Supports Python 2.7, 3.5, 3.6 and 3.7.
+This is the last release to support Python 2.
-We're happy to announce the release of NetworkX 2.2!
NetworkX is a Python package for the creation, manipulation, and study of the
structure, dynamics, and functions of complex networks.
@@ -103,8 +107,8 @@ And `GraphView`, `DiGraphView`, `MultiGraphView`, `MultiDiGraphView`
are derecated in favor of `generic_graph_view(graph, create_using)`.
-Contributors to this release
-----------------------------
+Contributors
+------------
- Luca Baldesi
- William Bernoudy
diff --git a/doc/release/release_2.3.rst b/doc/release/release_2.3.rst
index 64a42604..0b24258d 100644
--- a/doc/release/release_2.3.rst
+++ b/doc/release/release_2.3.rst
@@ -1,5 +1,10 @@
-Announcement: NetworkX 2.3
-==========================
+NetworkX 2.3
+============
+
+Release date: 11 April 2019
+
+Supports Python 3.5, 3.6 and 3.7.
+This is our first Python 3 only release.
We're happy to announce the release of NetworkX 2.3!
NetworkX is a Python package for the creation, manipulation, and study of the
@@ -53,8 +58,8 @@ Deprecations
- The Graph.fresh_copy() method should now use Graph.__class__()
- ReverseView class removed in favor of reverse_view() function.
-Contributors to this release
-----------------------------
+Contributors
+------------
- Mike Babst
- Jonathan Barnoud
diff --git a/doc/release/release_2.4.rst b/doc/release/release_2.4.rst
index fe7c5bb6..8fee1029 100644
--- a/doc/release/release_2.4.rst
+++ b/doc/release/release_2.4.rst
@@ -1,7 +1,11 @@
-Announcement: NetworkX 2.4
-==========================
+NetworkX 2.4
+============
+
+Release date: 16 October 2019
+
+Supports Python 3.5, 3.6, 3.7, and 3.8.
+This is the last release to support Python 3.5.
-We're happy to announce the release of NetworkX 2.4!
NetworkX is a Python package for the creation, manipulation, and study of the
structure, dynamics, and functions of complex networks.
@@ -118,8 +122,8 @@ Remove old names for graphview functions.
- MultiReverseView
- Use reverse_view, subgraph_view and generic_graph_view.
-Pull requests and commits merged in this release
-------------------------------------------------
+Merged PRs
+----------
A total of 205 changes have been committed.
@@ -337,8 +341,8 @@ It contained the following 5 merges:
- Test Python 3.8 with AppVeyor (#3648)
- Cleanup and speedup CI (#3652)
-Contributors to this release
-----------------------------
+Contributors
+------------
- Rajendra Adhikari
- Antoine Allard
diff --git a/doc/release/release_2.5.rst b/doc/release/release_2.5.rst
index 25cdebd1..36331528 100644
--- a/doc/release/release_2.5.rst
+++ b/doc/release/release_2.5.rst
@@ -1,7 +1,10 @@
-Announcement: NetworkX 2.5
-==========================
+NetworkX 2.5
+============
+
+Release date: 22 August 2020
+
+Supports Python 3.6, 3.7, and 3.8.
-We're happy to announce the release of NetworkX 2.5!
NetworkX is a Python package for the creation, manipulation, and study of the
structure, dynamics, and functions of complex networks.
@@ -125,8 +128,8 @@ Deprecations
- [`#4161 <https://github.com/networkx/networkx/pull/4161>`_]
Rename `_naive_greedy_modularity_communities` as `naive_greedy_modularity_communities`.
-Pull requests merged in this release
-------------------------------------
+Merged PRs
+----------
A total of 256 changes have been committed.
@@ -392,8 +395,9 @@ It contained the following 3 merges:
- MAINT: Replace internal usage of to_numpy_matrix and from_numpy_matrix (#4093)
-Contributors to this release
-----------------------------
+Contributors
+------------
+
- Adnan Abdulmuttaleb
- Abhi
- Antoine-H
diff --git a/doc/release/release_dev.rst b/doc/release/release_dev.rst
index 04952af4..0fdce5dd 100644
--- a/doc/release/release_dev.rst
+++ b/doc/release/release_dev.rst
@@ -1,7 +1,10 @@
-Announcement: NetworkX 2.6
-==========================
+Next Release
+============
+
+Release date: TBD
+
+Supports Python 3.7, 3.8, and 3.9.
-We're happy to announce the release of NetworkX 2.6!
NetworkX is a Python package for the creation, manipulation, and study of the
structure, dynamics, and functions of complex networks.
@@ -107,14 +110,13 @@ Deprecations
Deprecate the ``Ordered`` graph classes.
-
-Contributors to this release
-----------------------------
+Contributors
+------------
<output of contribs.py>
-Pull requests merged in this release
-------------------------------------
+Merged PRs
+----------
<output of contribs.py>
diff --git a/doc/release/release_template.rst b/doc/release/release_template.rst
index c267a067..b6c5c48a 100644
--- a/doc/release/release_template.rst
+++ b/doc/release/release_template.rst
@@ -1,7 +1,10 @@
-Announcement: NetworkX 2.X
-==========================
+Next Release
+============
+
+Release date: TBD
+
+Supports Python ...
-We're happy to announce the release of NetworkX 2.X!
NetworkX is a Python package for the creation, manipulation, and study of the
structure, dynamics, and functions of complex networks.
@@ -30,13 +33,13 @@ Deprecations
------------
-Contributors to this release
-----------------------------
+Contributors
+------------
<output of contribs.py>
-Pull requests merged in this release
-------------------------------------
+Merged PRs
+----------
<output of contribs.py>
diff --git a/networkx/algorithms/graphical.py b/networkx/algorithms/graphical.py
index 1931db5c..842afdb9 100644
--- a/networkx/algorithms/graphical.py
+++ b/networkx/algorithms/graphical.py
@@ -25,8 +25,10 @@ def is_graphical(sequence, method="eg"):
method : "eg" | "hh" (default: 'eg')
The method used to validate the degree sequence.
- "eg" corresponds to the Erdős-Gallai algorithm, and
- "hh" to the Havel-Hakimi algorithm.
+ "eg" corresponds to the Erdős-Gallai algorithm
+ [EG1960]_, [choudum1986]_, and
+ "hh" to the Havel-Hakimi algorithm
+ [havel1955]_, [hakimi1962]_, [CL1996]_.
Returns
-------
@@ -42,11 +44,16 @@ def is_graphical(sequence, method="eg"):
References
----------
- Erdős-Gallai
- [EG1960]_, [choudum1986]_
-
- Havel-Hakimi
- [havel1955]_, [hakimi1962]_, [CL1996]_
+ .. [EG1960] Erdős and Gallai, Mat. Lapok 11 264, 1960.
+ .. [choudum1986] S.A. Choudum. "A simple proof of the Erdős-Gallai theorem on
+ graph sequences." Bulletin of the Australian Mathematical Society, 33,
+ pp 67-70, 1986. https://doi.org/10.1017/S0004972700002872
+ .. [havel1955] Havel, V. "A Remark on the Existence of Finite Graphs"
+ Casopis Pest. Mat. 80, 477-480, 1955.
+ .. [hakimi1962] Hakimi, S. "On the Realizability of a Set of Integers as
+ Degrees of the Vertices of a Graph." SIAM J. Appl. Math. 10, 496-506, 1962.
+ .. [CL1996] G. Chartrand and L. Lesniak, "Graphs and Digraphs",
+ Chapman and Hall/CRC, 1996.
"""
if method == "eg":
valid = is_valid_degree_sequence_erdos_gallai(list(sequence))
@@ -81,7 +88,8 @@ def _basic_graphical_tests(deg_sequence):
def is_valid_degree_sequence_havel_hakimi(deg_sequence):
r"""Returns True if deg_sequence can be realized by a simple graph.
- The validation proceeds using the Havel-Hakimi theorem.
+ The validation proceeds using the Havel-Hakimi theorem
+ [havel1955]_, [hakimi1962]_, [CL1996]_.
Worst-case run time is $O(s)$ where $s$ is the sum of the sequence.
Parameters
@@ -108,9 +116,12 @@ def is_valid_degree_sequence_havel_hakimi(deg_sequence):
----------
.. [1] I.E. Zverovich and V.E. Zverovich. "Contributions to the theory
of graphic sequences", Discrete Mathematics, 105, pp. 292-303 (1992).
-
- [havel1955]_, [hakimi1962]_, [CL1996]_
-
+ .. [havel1955] Havel, V. "A Remark on the Existence of Finite Graphs"
+ Casopis Pest. Mat. 80, 477-480, 1955.
+ .. [hakimi1962] Hakimi, S. "On the Realizability of a Set of Integers as
+ Degrees of the Vertices of a Graph." SIAM J. Appl. Math. 10, 496-506, 1962.
+ .. [CL1996] G. Chartrand and L. Lesniak, "Graphs and Digraphs",
+ Chapman and Hall/CRC, 1996.
"""
try:
dmax, dmin, dsum, n, num_degs = _basic_graphical_tests(deg_sequence)