ó
    †~iw  ã                   óô   • 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      ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/networkx/linalg/spectrum.pyr   r      s1   € óN à�9‰9×Ñœ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 à�9‰9×ÑÜ
×&Ò& 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 à�9‰9×Ñœ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   € ó. à‡}�}‡�Ø�y‰y× Ñ ¤×!>Ò!>¸qÓ!AÓBÐBà�y‰y× Ñ ¤×!5Ò!5°aÓ!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 à�9‰9×Ñœb×5Ò5°aÓ;×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   