K i HddlmZddlmZddlmZddlmZmZm Z dZ dZ y)) Permutation)symbols)Matrix)PermutationMatrixBlockDiagMatrix BlockMatrixc@td\ }}}}}}}}}} } } } t|ddd|ddddd|ddg d|ddd|ddddd|dg dd|ddd|ddddd|g gd| ddddddddddddg d| dddddddddddg dd| ddddddddddg | ddd| ddddd| ddg d| ddd| ddddd| dg dd| ddd| ddddd| g dddd|ddddddddg ddddd|dddddddg dddddd|ddddddg g } | j}|gdgdgddggk(sJ| j\}}t gd }|t |k(sJt||d|g| dddg| | d| gd|ddgg}t||d|g| dddg| | d| gd|ddgg}t||d|g| dddg| | d| gd|ddgg}tdgg}|t ||||k(sJy) Nza:mr) rrrrrrrrrrrrr )r )r  ) ) rr r r r rrrrrrrr)rrconnected_components"connected_components_decompositionrrr)abcdefghijklmMccPBpB0B1B2B3s e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/matrices/tests/test_graph.pytest_connected_componentsr/s,3EN)Aq!Q1aAq!Q Aq!Q1aAq!Q/ Aq!Q1aAq!Q/ Aq!Q1aAq!Q// Aq!Q1aAq!Q/ Aq!Q1aAq!Q/ Aq!Q1aAq!Q/ Aq!Q1aAq!Q/ Aq!Q1aAq!Q/ Aq!Q1aAq!Q/ Aq!Q1aAq!Q/ Aq!Q1aAq!Q/ Aq!Q1aAq!Q/ 1 2A   !B - sC CC C / / 1DAq>?A !!$ $$ $  Aq! Aq! Aq! Aq!  B  Aq! Aq! Aq! Aq!  B  Aq! Aq! Aq! Aq!  B !B BB/ // /c tgdgdgdgdgdgdg}|j}|ddgd d gd d ggk(sJ|j\}}tgd }|t |k(sJ|t tddgddggtj d d tj d d gtddgdd ggtddgdd ggtj d d gtj d d tj d d tddgddggggk(sJ|j}|j}|j|z|z|k(sJ|jd\}}tgd}|t |k(sJ|t tddgddggtj d d tj d d gtj d d tddgdd ggtddgdd gggtj d d tj d d tddgddggggk(sJ|j}|j}|j|z|z|k(sJy)N)rr rr)r,rr-r)r r rrrr)rrrr)r6rr7r)rrr r!r r rrrr)r r rrrrr4r5r8r9r2r3rr r6r7r:r;F)lower)rrrrr r ) rstrongly_connected_components+strongly_connected_components_decompositionrrrzeros as_explicitT)r%sccr'r(r)s r."test_strongly_connected_componentsrC3s  A ) ) +C Aq6Aq6Aq6* ** * 8 8 :DAq&'A !!$ $$ $ RHr2h' ( LLA  LLA  RHq!f% & RHq!f% & LLA  LLA  LLA  RHr2h' (   " A A 337Q;!   8 8u 8 EDAq&'A !!$ $$ $ RHr2h' ( LLA  LLA  LLA  RHq!f% & RHq!f% & LLA  LLA  RHr2h' (   " A A 337Q;!  r0N) sympy.combinatoricsrsympy.core.symbolrsympy.matricesrsympy.matrices.expressionsrrrr/rCr0r.rIs#+%!55(0V9r0