
    hw                         S r SSKr/ SQr\R                  " SS9SS j5       r\R                  " SS9SS j5       r\R                  " SS9SS j5       r\R                  S	 5       r\R                  SS
 j5       r	g)z 
Eigenvalue spectrum of graphs.
    N)laplacian_spectrumadjacency_spectrummodularity_spectrumnormalized_laplacian_spectrumbethe_hessian_spectrumweight)
edge_attrsc                     SSK nUR                  R                  [        R                  " XS9R                  5       5      $ )a8  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 :func:`~networkx.convert_matrix.to_numpy_array` for other options.

See Also
--------
laplacian_matrix

Examples
--------
The multiplicity of 0 as an eigenvalue of the laplacian matrix is equal
to the number of connected components of G.

>>> G = nx.Graph()  # Create a graph with 5 nodes and 3 connected components
>>> G.add_nodes_from(range(5))
>>> G.add_edges_from([(0, 2), (3, 4)])
>>> nx.laplacian_spectrum(G)
array([0., 0., 0., 2., 2.])

r   Nr   )scipylinalgeigvalshnxlaplacian_matrixtodenseGr   sps      J/var/www/html/env/lib/python3.13/site-packages/networkx/linalg/spectrum.pyr   r      s1    N 99b11!CKKMNN    c                     SSK nUR                  R                  [        R                  " XS9R                  5       5      $ )a  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_array for other options.

See Also
--------
normalized_laplacian_matrix
r   Nr   )r   r   r   r   normalized_laplacian_matrixr   r   s      r   r   r   <   s5    6 99
&&q8@@B r   c                     SSK nUR                  R                  [        R                  " XS9R                  5       5      $ )a  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_array for other options.

See Also
--------
adjacency_matrix
r   Nr   )r   r   eigvalsr   adjacency_matrixr   r   s      r   r   r   ^   s0    6 99R00BJJLMMr   c                     SSK nU R                  5       (       a/  UR                  R                  [        R
                  " U 5      5      $ UR                  R                  [        R                  " U 5      5      $ )aj  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.
r   N)r   is_directedr   r   r   directed_modularity_matrixmodularity_matrix)r   r   s     r   r   r   ~   sR    . }}yy  !>!>q!ABByy  !5!5a!899r   c                     SSK nUR                  R                  [        R                  " X5      R                  5       5      $ )u  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.
r   N)r   r   r   r   bethe_hessian_matrixr   )r   rr   s      r   r   r      s0    6 99b55a;CCEFFr   r   )N)
__doc__networkxr   __all___dispatchabler   r   r   r   r    r   r   <module>r(      s     X&(O '(OV X& 'B X&N 'N> : :< G Gr   