o
    8Va                     @   sL   d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 dd Z
dd Zd	S )
    )Permutation)symbols)Matrix)PermutationMatrixBlockDiagMatrixBlockMatrixc                  C   s  t d\} }}}}}}}}}	}
}}t| ddd|ddddd|ddgd|ddd|ddddd|dgdd|ddd|ddddd|gg d|ddddddddddddgd|dddddddddddgdd|ddddddddddg|	ddd|
ddddd|ddgd|	ddd|
ddddd|dgdd|	ddd|
ddddd|gdddd|ddddddddgddddd|dddddddgdddddd|ddddddgg}| }|g dg dg ddggksJ | \}}tg d	}|t|ksJ t| |d|g|dddg|	|
d|gd|ddgg}t||d|g|dddg|	|
d|gd|ddgg}t||d|g|dddg|	|
d|gd|ddgg}tdgg}|t||||ksCJ d S )
Nza:mr   )r   r   r      r   r   r   r   r   r   r   r   r   r   )r         
   )r            )      	         )r   r	   r
   r   r   r   r   r   r   r   r   r   r   )r   r   Zconnected_componentsZ"connected_components_decompositionr   r   r   )abcdefghijklmMZccPBpZB0ZB1ZB2ZB3 r%   A/usr/lib/python3/dist-packages/sympy/matrices/tests/test_graph.pytest_connected_components   sR   ""











r'   c               
   C   s  t g dg dg dg dg dg dg} |  }|ddgd	d
gddggks)J |  \}}tg d}|t|ks=J |tt ddgddggt d
d
t d
d
gt ddgddggt ddgdd	ggt d
d
gt d
d
t d
d
t ddgddggggksJ | }| }|j| | | ksJ | jdd\}}tg d}|t|ksJ |tt ddgddggt d
d
t d
d
gt d
d
t ddgdd	ggt ddgddgggt d
d
t d
d
t ddgddggggksJ | }| }|j| | | ks
J d S )N)r      r   r      r   )r   ,   r   r   -   r   )r   r	   r   r   r   r   )r   r   r      r      )r   6   r   r   7   r   )r   r   r       r   !   r   r	   r   r   r   r   )r   r	   r   r   r   r   r*   r+   r.   r/   r(   r)   r   r   r,   r-   r0   r1   F)lower)r   r   r   r   r   r	   )	r   Zstrongly_connected_componentsZ+strongly_connected_components_decompositionr   r   r   ZzerosZas_explicitT)r!   Zsccr"   r#   r$   r%   r%   r&   "test_strongly_connected_components3   sd   









r4   N)Zsympy.combinatoricsr   Zsympy.core.symbolr   Zsympy.matricesr   Zsympy.matrices.expressionsr   r   r   r'   r4   r%   r%   r%   r&   <module>   s    +