Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/networkx/linalg/spectrum.py @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
| author | shellac |
|---|---|
| date | Mon, 01 Jun 2020 08:59:25 -0400 |
| parents | 79f47841a781 |
| children |
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/networkx/linalg/spectrum.py Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,172 +0,0 @@ -""" -Eigenvalue spectrum of graphs. -""" -# Copyright (C) 2004-2019 by -# Aric Hagberg <hagberg@lanl.gov> -# Dan Schult <dschult@colgate.edu> -# Pieter Swart <swart@lanl.gov> -# All rights reserved. -# BSD license. -import networkx as nx -__author__ = "\n".join(['Aric Hagberg <aric.hagberg@gmail.com>', - 'Pieter Swart (swart@lanl.gov)', - 'Dan Schult(dschult@colgate.edu)', - 'Jean-Gabriel Young (jean.gabriel.young@gmail.com)']) - -__all__ = ['laplacian_spectrum', 'adjacency_spectrum', 'modularity_spectrum', - 'normalized_laplacian_spectrum', 'bethe_hessian_spectrum'] - - -def laplacian_spectrum(G, weight='weight'): - """Returns eigenvalues of the Laplacian of G - - Parameters - ---------- - G : graph - A NetworkX graph - - weight : string or None, optional (default='weight') - The edge data key used to compute each value in the matrix. - If None, then each edge has weight 1. - - Returns - ------- - evals : NumPy array - Eigenvalues - - Notes - ----- - For MultiGraph/MultiDiGraph, the edges weights are summed. - See to_numpy_matrix for other options. - - See Also - -------- - laplacian_matrix - """ - from scipy.linalg import eigvalsh - return eigvalsh(nx.laplacian_matrix(G, weight=weight).todense()) - - -def normalized_laplacian_spectrum(G, weight='weight'): - """Return eigenvalues of the normalized Laplacian of G - - Parameters - ---------- - G : graph - A NetworkX graph - - weight : string or None, optional (default='weight') - The edge data key used to compute each value in the matrix. - If None, then each edge has weight 1. - - Returns - ------- - evals : NumPy array - Eigenvalues - - Notes - ----- - For MultiGraph/MultiDiGraph, the edges weights are summed. - See to_numpy_matrix for other options. - - See Also - -------- - normalized_laplacian_matrix - """ - from scipy.linalg import eigvalsh - return eigvalsh(nx.normalized_laplacian_matrix(G, weight=weight).todense()) - - -def adjacency_spectrum(G, weight='weight'): - """Returns eigenvalues of the adjacency matrix of G. - - Parameters - ---------- - G : graph - A NetworkX graph - - weight : string or None, optional (default='weight') - The edge data key used to compute each value in the matrix. - If None, then each edge has weight 1. - - Returns - ------- - evals : NumPy array - Eigenvalues - - Notes - ----- - For MultiGraph/MultiDiGraph, the edges weights are summed. - See to_numpy_matrix for other options. - - See Also - -------- - adjacency_matrix - """ - from scipy.linalg import eigvals - return eigvals(nx.adjacency_matrix(G, weight=weight).todense()) - - -def modularity_spectrum(G): - """Returns eigenvalues of the modularity matrix of G. - - Parameters - ---------- - G : Graph - A NetworkX Graph or DiGraph - - Returns - ------- - evals : NumPy array - Eigenvalues - - See Also - -------- - modularity_matrix - - References - ---------- - .. [1] M. E. J. Newman, "Modularity and community structure in networks", - Proc. Natl. Acad. Sci. USA, vol. 103, pp. 8577-8582, 2006. - """ - from scipy.linalg import eigvals - if G.is_directed(): - return eigvals(nx.directed_modularity_matrix(G)) - else: - return eigvals(nx.modularity_matrix(G)) - - -def bethe_hessian_spectrum(G, r=None): - """Returns eigenvalues of the Bethe Hessian matrix of G. - - Parameters - ---------- - G : Graph - A NetworkX Graph or DiGraph - - r : float - Regularizer parameter - - Returns - ------- - evals : NumPy array - Eigenvalues - - See Also - -------- - bethe_hessian_matrix - - References - ---------- - .. [1] A. Saade, F. Krzakala and L. Zdeborová - "Spectral clustering of graphs with the bethe hessian", - Advances in Neural Information Processing Systems. 2014. - """ - from scipy.linalg import eigvalsh - return eigvalsh(nx.bethe_hessian_matrix(G, r).todense()) - - -# fixture for pytest -def setup_module(module): - import pytest - scipy.linalg = pytest.importorskip('scipy.linalg')
