
    h                     |    S SK r \ R                  " S5      r\ R                  " S5        S SKrS SKJr   " S S5      rg)    Nnumpyscipy)havel_hakimi_graphc                   B    \ rS rSr\S 5       rS rS rS rS r	S r
Srg	)
TestSpectrum
   c                    / SQn[        U5      U l        [        R                  " S5      U l        [        R
                  " S U R                  R                  5        5       5      U l        U R                  R                  S5        [        R                  " 5       U l
        [        R                  " U R                  / SQ5        g )N)      r      r   r
   c              3   4   #    U  H  u  pXS SS.4v   M     g7f)      ?333333?)weightotherN ).0uvs      U/var/www/html/env/lib/python3.13/site-packages/networkx/linalg/tests/test_spectrum.py	<genexpr>+TestSpectrum.setup_class.<locals>.<genexpr>   s      
@MfqQcC01s      )r   r   r   )r   Gnx
path_graphPGraphedgesWGadd_nodeDiGraphDGadd_path)clsdegs     r   setup_classTestSpectrum.setup_class   s{    "3'a  
@C
 
 	
CFFI&    c                 ~   [         R                  / SQ5      n[        [        R                  " U R
                  5      5      n[         R                  R                  X!5        [        [        R                  " U R                  SS95      n[         R                  R                  X!5        [        [        R                  " U R                  5      5      n[         R                  R                  USU-  5        [        [        R                  " U R                  SS95      n[         R                  R                  USU-  5        g)zLaplacian eigenvalues)r   r   r   r
   r   Nr   r   r   r   )	nparraysortedr   laplacian_spectrumr   testingassert_almost_equalr    selfevalses      r   test_laplacian_spectrum$TestSpectrum.test_laplacian_spectrum   s    )2((01


&&q02((>?


&&q02((12


&&q#+62((AB


&&q#+6r)   c                 n   [         R                  / SQ5      n[        [        R                  " U R
                  5      5      n[         R                  R                  X!5        [        [        R                  " U R                  SS95      n[         R                  R                  X!5        [        [        R                  " U R                  5      5      n[         R                  R                  X!5        [        [        R                  " U R                  SS95      n[         R                  R                  X!5        g)z Normalized Laplacian eigenvalues)r   r   gI`?g      ?g Ϩ?Nr+   r   )	r,   r-   r.   r   normalized_laplacian_spectrumr   r0   r1   r    r2   s      r   "test_normalized_laplacian_spectrum/TestSpectrum.test_normalized_laplacian_spectrum#   s    FG233DFF;<


&&q0233DGGDIJ


&&q0233DGG<=


&&q0233DGGGLM


&&q0r)   c                    [         R                  [         R                  S5      * S[         R                  S5      /5      n[        [        R
                  " U R                  5      5      n[         R                  R                  X!5        g)zAdjacency eigenvaluesr   r   N)	r,   r-   sqrtr.   r   adjacency_spectrumr   r0   r1   r2   s      r   test_adjacency_spectrum$TestSpectrum.test_adjacency_spectrum/   sT    2771:+q"''!*562((01


&&q0r)   c                    [         R                  / SQ5      n[        [        R                  " U R
                  5      5      n[         R                  R                  X!5        [         R                  / SQ5      n[        [        R                  " U R                  5      5      n[         R                  R                  X!5        g)zModularity eigenvalues)g              rB   )g      rB   rB   N)	r,   r-   r.   r   modularity_spectrumr   r0   r1   r#   r2   s      r   test_modularity_spectrum%TestSpectrum.test_modularity_spectrum5   sv    )*2))$&&12


&&q0)*2))$''23


&&q0r)   c           	         [         R                  SS[         R                  S5      -
  -  SSS[         R                  S5      -   -  /5      n[        [        R
                  " U R                  SS95      n[         R                  R                  X!5        [        [        R
                  " U R                  SS95      n[        [        R                  " U R                  5      5      n[         R                  R                  X45        g)	zBethe Hessian eigenvaluesr   	   !   r   r   )rr   N)
r,   r-   r=   r.   r   bethe_hessian_spectrumr   r0   r1   r/   )r3   r4   r5   e1e2s        r   test_bethe_hessian_spectrum(TestSpectrum.test_bethe_hessian_spectrum?   s    #RWWR[11cQ_6MNO2,,TVVq9:


&&q0B--dff:;B))$&&12


&&r.r)   r   N)__name__
__module____qualname____firstlineno__classmethodr'   r6   r:   r?   rD   rM   __static_attributes__r   r)   r   r   r   
   s-    	' 	'
7
111/r)   r   )pytestimportorskipr,   networkxr   networkx.generators.degree_seqr   r   r   r)   r   <module>rY      s6    !   G   ==/ =/r)   