+
    i                    (   ^ RI t^ RIt^ RIHt ^ RIHtHtHtH	t	H
t
HtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtL ^ RIMHNtNHOtOHPtPHQtQHRtRHStSHTtTHUtU ^ RIVHWtWHXtX ^ RIYHZtZ ^ RI[H\t\H]t]H^t^ ^ RI_H`t` ^ R	IaHbtbHctcHdtd ^ R
IeHftf ^ RIgHhthHitiHjtjHktkHltlHmtm ^ RInHotoHptp ^ RIqHrtr ]]%]]3ts]]%3tt]]3tuR tvR twR txR tyR tzR t{R t|R t}R t~R tR tR tR tR tR tR tR tR tR  tR! tR" tR# tR$ tR% tR& tR' tR( tR) tR* tR+ tR, tR- tR. tR/ tR0 tR1 tR2 tR3 tR4 tR5 tR6 tR7 tR8 tR9 tR: tR; tR< tR= tR> tR? tR@ tRA tRB tRC tRD tRE tRF tRG tRH tRI tRJ tRK tRL tRM tRN tRO tRP tRQ tRR tRS tRT tRU tRV tRW tRX tRY tRZ tR[ tR\ tR] tR^ tR_ tR` tRa tRb tRc tRd tRe tRf tRg tRh tRi tRj tRk tRl tRm tRn tRo tRp tRq tRr tRs tRt tRu tRv tRw t]lRx 4       tRy tRz tR{ tR| tR} tR~ tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR Et R EtR EtR EtR EtR EtR EtR EtR EtR Et	R Et
R EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR EtR Et R Et!R Et"R Et#R Et$R Et%R Et&R Et'R Et(R Et)R Et*R Et+R Et,R Et-R Et.R Et/R Et0R Et1R Et2R Et3R Et4R Et5R Et6R Et7]lR 4       Et8R Et9R Et:R Et;R Et<R Et=R Et>R Et?R Et@R EtAR EtBR EtCR EtDR EtER EtFR EtGR EtHR EtIR EtJR EtKR EtLR EtMR EtNR EtOR EtP]k! R4      R 4       EtQR EtRR EtSR# )    N)Hashable)GAbsAddArrayDeferredVectorEExpr	FiniteSetFloatFunctionGramSchmidtIImmutableDenseMatrixImmutableMatrixImmutableSparseMatrixIntegerKroneckerDeltaMatPowMatrixMatrixSymbolMaxMinMutableDenseMatrixMutableSparseMatrixPolyPowPurePolyQ
QuaternionRationalRootOfSSparseMatrixSymbolTupleWildbanded
casoratiancosdiagdiffexpexpandeyefloorhessian	integratelogmatrix_multiply_elementwisenanonesoopi
randMatrix	rot_axis1	rot_axis2	rot_axis3rot_ccw_axis1rot_ccw_axis2rot_ccw_axis3signsimpsimplifysinsqrtsstrsymbolssympifytantrigsimp	wronskianzeroscancel)abcdtxyz)
NumberKindUndefinedKind)_find_reasonable_pivot_naive)MatrixErrorNonSquareMatrixError
ShapeError)
MatrixKind)_dotprodsimp_state	_simplifydotprodsimp)ArrayDerivative)ignore_warningsraisesskipskip_under_pyodideslowwarns_deprecated_sympy)captureiterable)versionc                     \        ^^. RO4      p V P                  ^8X  g   Q hV P                  ^8X  g   Q hV ^,          ^8X  g   Q hV R,          ^8X  g   Q h\        V 4      . RO8X  g   Q h\        V R,          4      . RO8X  g   Q h\        V R,          4      ^^.8X  g   Q h\        V R,          4      \        V 4      8X  g   Q hV R,          V 8X  g   Q h\        V 4      V 8X  g   Q h\        . RO. RO.4      V 8X  g   Q h\        . RO. RO34      V 8X  g   Q h\        RR.4      V 8X  g   Q h\        R	4      V 8X  g   Q h\        ^^.^^.^^..4      V 8X  d   Q hR# )
   N)   rh               ri   ri   ri   NNNrk   rl   rm   rp   ri   rp   rp   ri   rh   rj   )rt   rq   )r   rowscolslistrP   s    b/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/matrices/tests/test_matrixbase.pytest__MinimalMatrixrz   #   sS   q!'(A66Q;;66Q;;Q4199T7a<<7(((($=I%%%$=QF"""$=DG###T7a<<!9>>9i()Q...9i()Q...9i()Q...()Q...AAA/0A5665    c                     \        ^^.^^..4      P                  \        \        4      8X  g   Q h\        ^ ^ .^ ^ ..4      P                  \        \        4      8X  g   Q h\        ^ ^ . 4      P                  \        \        4      8X  g   Q h\        \        ..4      P                  \        \        4      8X  g   Q h\        ^\        ^..4      ..4      P                  \        \
        4      8X  g   Q h\        ^..4      P                  \        \        4      8X  g   Q h\        ^\        ^..4      ..4      P                  \        \
        4      8X  g   Q hR# ri   N)r   kindrY   rS   rP   rT   r#    r{   ry   	test_kindr   6   s   Aq6Aq6"#((Jz,BBBBAq6Aq6"#((Jz,BBBB!Q  Jz$::::A3%=J!7777Avse}%&',,
=0IIII!##z*'====!VaSE]+,-22j6OOOOr{   c            	      b   \        R 4      w  rr#\        W.W#..4      p\        W.W#..4      p\        W.W#..4      p\	        W.W#..4      pVP                  4       VP                  4       u;8X  d=   VP                  4       u;8X  d'   VP                  4       u;8X  d   RV RVRVRV/8X  g   Q h Q hR# )za:dNr   r   r   ri   ri   r   rn   )rD   r   r   r   r   todok)rK   rL   rM   rN   m1m2m3m4s           ry   
test_todokr   @   s    JA!	aVaV,	-B	vv.	/B	qfqf-	.B	/	0B88: 5rxxz 5RXXZ 5	FAvq&!45 5 5 5 5r{   c                  T   \         P                  \         P                  \        \        ,          \         P
                  .\        \        \        \        ^,          .\        \         P                  ) \        \        ,          ^..p \         P                  \         P                  \        \        ,          \         P
                  \        \        \        \        ^,          \        \         P                  ) \        \        ,          ^.p\        ^^V4      pVP                  4       V 8X  g   Q hR# rh   N)	r"   OneHalfrP   rQ   ZerorR   r   tolist)lstflat_lstms      ry   test_tolistr   J   s    EE1661Q3'!Q1a41quufac1:M
NCqvvqsAFFAq!QT1quufac1MHq!XA88:r{   c                      \        \        P                  ^ .^ \        P                  .\        ^ ..4      p ^ ^ \        P                  /^^\        P                  /^^ \        //pV P                  4       V8X  g   Q hR# r   N)r   r"   r   r   rP   todod)r   dicts     ry   
test_tododr   Q   sa    
QK!Q01A155z1q!&&k1q!f5D779r{   c                    a  \        ^^. RO4      o \        \        V 3R l4       \        \        V 3R l4       \        \        V 3R l4       \        \        V 3R l4       S P                  ^4      S P                  R4      u;8X  d   \	        . RO. R	O.4      8X  g   Q h Q hS P                  ^4      S P                  R4      u;8X  d   \	        ^^.^^.^^..4      8X  g   Q h Q hS P                  ^4      S P                  R
4      u;8X  d   \	        . RO. RO.4      8X  g   Q h Q hS P                  ^4      S P                  R
4      u;8X  d   \	        ^^.^^.^^	..4      8X  g   Q h Q hR# )rj   c                  &   < S P                  ^4      # rl   row_deles   ry   <lambda>"test_row_col_del.<locals>.<lambda>Y       qyy|r{   c                  &   < S P                  R4      # rl   r   r   s   ry   r   r   Z       qyy}r{   c                  &   < S P                  ^4      # r   col_delr   s   ry   r   r   [   r   r{   c                  &   < S P                  R4      # r   r   r   s   ry   r   r   \   r   r{   N	ri   rh   rj   rk   rl   rm         	   rt   rq   r   r   r   )r   r_   
IndexErrorr   r   r   r   s   @ry   test_row_col_delr   W   s&   19:A
:+,
:,-
:+,
:,-99Q<199R=JFIy3I,JJJJJJ99Q<199R=LFQFQFQF3K,LLLLLL99Q<199R=JFIy3I,JJJJJJ99Q<199R=LFQFQFQF3K,LLLLLLr{   c                  N   \        ^^.^^..4      p \        ^\        .\        ^..4      p\        ^\        ^.\        ^\        .\        \        \        ..4      pV P                  ! 4       V .8X  g   Q hVP                  ! 4       V.8X  g   Q hVP                  ! 4       V.8X  g   Q hR# r}   )r   rP   rQ   rR   get_diag_blocks)rK   rL   rM   s      ry   test_get_diag_blocks1r   e   s    AA AAA AAq	Aq!9q!Qi01A1#%%%1#%%%1#%%%r{   c                     \        ^^.^^..4      p \        ^\        .\        ^..4      p\        ^\        ^.\        ^\        .\        \        \        ..4      p\	        WV4      \	        WV4      \	        WV4      \	        W"V4      3w  r4rV\        VP
                  VP                  V4      p\        VP
                  VP                  V4      p\        VP
                  VP                  V4      p\        VP
                  VP                  V4      pVP                  4       WV.8X  g   Q hVP                  4       WV.8X  g   Q hVP                  4       WV.8X  g   Q hVP                  4       W"V.8X  g   Q hR# r}   )r   rP   rQ   rR   r*   ru   rv   r   )rK   rL   rM   ABCDs          ry   test_get_diag_blocks2r   n   sA   AA AAA AAq	Aq!9q!Qi01AaAQ1tA!}d1mKJA!qvvqvvq!Aqvvqvvq!Aqvvqvvq!Aqvvqvvq!A1)+++1)+++1)+++1)+++r{   c                      \        ^^. RO4      p V P                  ^ 4      \        ^^. RO4      8X  g   Q hV P                  ^ 4      \        ^^. RO4      8X  g   Q hR# )rj   Nr   rt   ri   rk   r   )r   rowcolr   s    ry   test_row_colr   ~   sO    q!01A558vaI....558vaI....r{   c                      \        ^4      P                  \        . RO4      4      \        . RO. RO. RO.4      8X  g   Q hR# )rj   Nr   r   r   )ri   r   r   r   )r   ri   r   r   )r   r   ri   r   )r.   row_joinr   r   r{   ry   test_row_joinr      s;    q6??6),-<! "" " "r{   c                      \        ^4      P                  \        . RO.4      4      \        . RO. RO. RO. RO.4      8X  g   Q hR# )rj   Nr   ri   r   r   r   ri   r   r   r   ri   )r.   col_joinr   r   r{   ry   test_col_joinr      s@    q6??69+./9   r{   c                      \        . RO.4      p \        R^4       FW  p. ROpVP                  V^4       \        ^4      P	                  W4      P                  ^ 4      P                  4       V8X  d   KW  Q h	  R# )rk   Nrk   rk   rk   r   )r   rangeinsertr.   
row_insertr   flat)r4ils      ry   test_row_insertr      sa    		B2q\	A1v  '++A.335::: r{   c                     \        . RO4      p \        R^4       FW  p. ROpVP                  V^4       \        ^4      P	                  W4      P                  ^ 4      P                  4       V8X  d   KW  Q h	  \        ^4      P	                  ^\        ^^.^^.^^.^^.^^.^^..4      4      \        . RO. RO. RO. RO. R	O. R
O.4      8X  g   Q hR# )rk   Nr   r   r   r   r   )ri   r   r   rh   rh   r   r   r   )r   ri   r   rh   rh   r   r   r   )r   r   ri   rh   rh   r   r   r   )r   r   r   rh   rh   ri   r   r   )r   r   r   rh   rh   r   ri   r   )r   r   r   rh   rh   r   r   ri   )r   r   r   rI   
col_insertr   r   r.   )c4r   r   s      ry   test_col_insertr      s    			B2q\	AQx""1)--a05571<<< 
 q6QAAAAAQRTUPV'W XY++++++- .. . .r{   c                  r  a  \        ^^R 4      o S P                  . RO^ ^.4      \        ^^. RO4      8X  g   Q hS P                  ^ ^.. RO4      \        ^^. RO4      8X  g   Q hS P                  \        ^4      \        ^4      4      S 8X  g   Q h\        \        V 3R l4       \        \        V 3R l4       R# )	rk   c                 "    V ^,          V,           # rj   r   r   js   &&ry   r   test_extract.<locals>.<lambda>       !A#'r{   c                  ,   < S P                  ^.^ .4      # )rk   extractr   s   ry   r   r          qyy!qc2r{   c                  ,   < S P                  ^ .^.4      # r   r   r   s   ry   r   r      r   r{   N)r   ri   rj   )r   ri   rj   rk   r   
   r   r   rh   )r   r   rh   r   r      )r   r   r   r_   r   r   s   @ry   test_extractr      s    q!)*A99YA'6!Q8K+LLLL99aVY'6!Q8K+LLLL99U1XuQx(A---
:23
:23r{   c                    aa \        ^^R 4      o\        ^^R 4      oSSP                  S4      8X  g   Q hSP                  SSS4      \         P                  ! SSS4      u;8X  d   \        . RO. RO. RO. RO.4      8X  g   Q h Q h\        \        VV3R l4       \         P                  ! 4       \        4       8X  g   Q h\         P                  ! ^ ^ 4      p \         P                  ! ^ ^4      p\         P                  ! ^ ^4      p\         P                  ! ^ ^4      p\         P                  ! WW#4      oSP
                  ^ 8X  d   SP                  ^8X  g   Q hR# )	rk   c                 "    V ^,          V,           # r   r   r   s   &&ry   r   test_hstack.<locals>.<lambda>   r   r{   c                 "    V ^,          V,           # r   r   r   s   &&ry   r   r          1Q37r{   c                  (   < S P                  S S4      # N)hstackr   r   s   ry   r   r          qxx2r{   N)	r   ri   rh   r   ri   rh   r   ri   rh   )	rj   rk   rl   rj   rk   rl   rj   rk   rl   )	rm   r   r   rm   r   r   rm   r   r   )	r   r   r   r   r   r   r   r   r   )r   r   r_   rX   rI   ru   rv   )M1M2M3M4r   r   s       @@ry   test_hstackr      s   q!)*A	1*	+B88Aq!aA 6 4&1111	B3 ;4 4 4 4 4 4
 :./==?fh&&& 
a	B	a	B	a	B	a	Bbb%A66Q;166Q;&&;r{   c                    a a \        ^^R 4      o \        ^^R 4      oS S P                  S 4      8X  g   Q hS P                  S S S 4      \         P                  ! S S S 4      u;8X  d6   \        . RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO.4      8X  g   Q h Q h\        \        V V3R l4       \         P                  ! 4       \        4       8X  g   Q hR# )	rk   c                 "    V ^,          V,           # r   r   r   s   &&ry   r   test_vstack.<locals>.<lambda>   r   r{   c                 "    V ^,          V,           # r   r   r   s   &&ry   r   r      r   r{   c                  (   < S P                  S S4      # r   )vstackr   s   ry   r   r      r   r{   Nr   ri   rh   rj   rk   rl   rm   r   r   r   r   r   )r   r  r_   rX   r   s   @@ry   test_vstackr     s    q!)*A	1*	+B88Aq!aA 6 .& + + + + + + + + + + + +B- ;. . . . . . :./==?fh&&&r{   c                  B   \        \        \        3R34      p V P                  \        4      '       g   Q hV P                  \        4      '       d   Q hV P                  \
        4      '       g   Q h\        ^\        3R34      p V P                  \        4      '       d   Q hR# )rh   Nrh   rj   )r   rP   rQ   hasrR   r$   r   s    ry   test_hasr     sq    A A5588O8uuQxx<55===A AuuQxx<xr{   c                     \        R 4      p \        ^^^^.4      P                  4       RJ g   Q h\        ^^^ V ^,          ^V ,          ,           ^,           \        V ^,           ^,          ) ^ V \        ,          \        ) V ) \        ,          ^ .	4      pVP                  4       RJ g   Q hVP                  RR7      e   Q hVP                  R R7      e   Q h\        ^^V U u. uF  q P                  ! 4       NK  	  up 4      pVP                  RR7      RJ g   Q h\        ^^\
        P                  .\        V4      R,          ,            U u. uF  q P                  ! 4       NK  	  up 4      pVP                  4       RJ g   Q hR# u up i u up i )rP   FTr@   Nc                     V # r   r   rx   s   &ry   r   (test_is_anti_symmetric.<locals>.<lambda>       !r{   ri   NN)rD   r   is_anti_symmetricrQ   r-   r"   r   rw   )rP   r   s     ry   test_is_anti_symmetricr     sS   A!QA113u<<<q!aA!aa!eaZKAaC!aRT1MNA D(((.6664<<<q!!,!Qhhj!,-A.$666q!155'DGBK*?@*?Qhhj*?@AA E))) -@s   E?Fc                     \        ^\        .\        ) ^..4      p V P                  '       g   Q h\        ^\        ,          \        .\        ) ^..4      p V P                  RJ g   Q h\        \        \        .\        ) ^..4      p V P                  e   Q h\        \        ^.\        ) ^..4      p V P                  RJ g   Q hR# )ri   FNr   r   is_hermitianrP   rK   s    ry   test_is_hermitianr     s    A!Q !A>>>>1aA2q'"#A>>U"""A!Q !A>>!!!A!Q !A>>U"""r{   c                  h   \        \        \        .\        \        ..4      p V P                  ! 4       R J g   Q h\        . RO. RO.4      p V P                  ! 4       RJ g   Q h\        . RO^^\        ^..4      p V P                  ! 4       R J g   Q h\        ^\        ^..4      p V P                  ! 4       R J g   Q h\        . RO.4      p V P                  ! 4       RJ g   Q h\        ^.\        .^..4      p V P                  ! 4       R J g   Q h\        ^.^.^..4      p V P                  ! 4       RJ g   Q hR# )TFNri   rh   rj   rk   rl   rm   r   r   rt   )r   rP   is_symbolicr  s    ry   test_is_symbolicr    s   AA A==?d"""l+,A==?e###q!Ql+,A==?d"""Aq	{A==?d"""	{A==?e###aS1#A==?d"""aS1#A==?e###r{   c                      \        ^.^..4      p \        ^^.^^..4      pV P                  '       d   Q hVP                  '       g   Q hR# r}   )r   	is_squarer   s     ry   test_is_squarer"    sG    aSzA	!Q!Q 	!B{{{?<<<<r{   c                      \        ^^. RO4      p V P                  4       '       g   Q h\        ^^. RO4      p V P                  4       '       d   Q hR# )rh   Nr   ri   ri   r   r   ri   r   ri   )r   is_symmetricr   s    ry   test_is_symmetricr'    sG    q!\"A>>q!\"A~~r{   c                  R   \        . RO. RO. RO.4      p V P                  '       g   Q h\        ^^. RO4      p V P                  '       g   Q h\        ^^. RO4      p V P                  RJ g   Q hV P                  RJ g   Q h\        . RO. RO. RO.4      p V P                  '       d   Q hR# )	rj   FNrj   rk   ri   rh   rk   rl   r  )	rj   rh   r   rk   rk   ri   ri   rl   rh   )	rj   rh   r   rk   rk   ri   ri   rl   rh   rj   ri   rh   )r   is_upper_hessenbergis_lower_hessenbergr  s    ry   test_is_hessenbergr.     s    	9i01A     q!01A     q!12A  E)))  E)))	9i01A$$$$$$r{   c            
          \        \        ^^. RO4      P                  4       4      0 Rm8X  g   Q h\        RRR7      p \        \        ^^V ^ ^ ^.4      P                  4       4      V ^08X  g   Q hR# )rh   rP   TrealNr   ri   rh   rj   >   ri   rh   rj   )setr   valuesr$   rx   s    ry   test_valuesr5  -  sv    vaL 

&( ! ! !sAvaQ1aL 

&(1v  r{   c                     \        ^ \        ^.. RO.4      p V P                  \        ^ ^.\        ^.^^ ..4      8X  g   Q hV P                  \        ^ \        ) ^.. RO.4      8X  g   Q hV P                  V P	                  4       8X  g   Q hV P
                  V P                  P                  8X  g   Q hV P
                  \        ^ ^.\        ) ^.^^ ..4      8X  g   Q hR# )r   Nri   rh   r   )r   r   Tr   	conjugateHMs    ry   test_conjugater=  5  s    Aq	 	A 33&1a&a&a&" # # # # 33&1qb!*$& ' ' ' '33!++-33!##%%<<33&Aq'2q'q'# $ $ $ $r{   c                      \        \        \        \        R R7      ..4      p V ^ ,          ^\        ,          8w  g   Q hV P                  ! 4       \        ^\        ,          ..4      8X  g   Q hR# )FevaluateN)r   r   rP   doitr  s    ry   	test_doitrB  G  sO    QE*+,-AQ41Q3;;668v!ug&&&r{   c                  0  a  \        ^^\        ^4      ^.4      o \        ;QJ d(    V 3R l\        ^4       4       F  '       d   K   RM	  RM! V 3R l\        ^4       4       4      '       g   Q h\        ;QJ d(    V 3R l\        ^4       4       F  '       d   K   RM	  RM! V 3R l\        ^4       4       4      '       g   Q h\        ;QJ d(    V 3R l\        ^4       4       F  '       d   K   RM	  RM! V 3R l\        ^4       4       4      '       g   Q hR# )rh   c              3      <"   T F5  pSP                   ! 4       V,          SV,          P                  4       8H  x  K7  	  R # 5ir   evalf.0r   rK   s   & ry   	<genexpr>test_evalf.<locals>.<genexpr>O  s*     >Xqwwy|qtzz|+Xs   =A FTc              3      <"   T F7  pSP                   ! ^4      V,          SV,          P                  ^4      8H  x  K9  	  R# 5ir   rE  rG  s   & ry   rI  rJ  P  s.     @x!qwwqz!}!

1-x   ?Ac              3      <"   T F7  pSP                   ! ^4      V,          SV,          P                  ^4      8H  x  K9  	  R# 5ir   nrG  s   & ry   rI  rJ  Q  s.     8x!qss1vayAaDFF1I%xrL  N)r   rB   allr   r  s   @ry   
test_evalfrQ  M  s    q!d1gq\"A3>U1X>333>U1X>>>>>3@uQx@333@uQx@@@@@38uQx83338uQx88888r{   c                     aa \        R \        R7      w  oo\        ^^V3R l4      p \        ^^V3R l4      pVP                  SS4      pW 8X  g   Q hR# )F, Gclsc                     < S! W,           4      # r   r   r   r   Gs   &&ry   r   test_replace.<locals>.<lambda>V      !AC&r{   c                     < S! W,           4      # r   r   r   r   Fs   &&ry   r   rY  W  rZ  r{   NrD   r   r   replace)Kr<  Nr]  rX  s      @@ry   test_replacerb  T  sI    6x(DAqq!()Aq!()A			!QA6M6r{   c            	        aa \        R \        R7      w  oo\        ^^V3R l4      p V P                  SSR4      w  rV\        ^^V3R l4      8X  g   Q hVS! ^ 4      S! ^ 4      S! ^4      S! ^4      S! ^4      S! ^4      /8X  g   Q hR# )rS  rT  c                     < S! W,           4      # r   r   r\  s   &&ry   r   "test_replace_map.<locals>.<lambda>^  rZ  r{   Tc                     < S! W,           4      # r   r   rW  s   &&ry   r   re  `  s    !AC&r{   Nr^  )r<  ra  rN   r]  rX  s      @@ry   test_replace_maprg  \  s    6x(DAqq!()A99Q4 DAq!011111qtQqT1Q41qt4444r{   c                  ~  aa  ^ RI HoHp  \        ^^.^^..4      oS! ^^.^^..4      pX ! S! S4      V4      '       g   Q hV ! S! SRR7      V4      '       g   Q h\        \        R4      P                  R4      ^ ,          4      ^8  d   \        \        VV3R l4       R# R#   \         d    \	        R4        Li ; i)	r   )arrayarray_equal?NumPy must be available to test creating matrices from ndarraysTcopynumpy.c                     < S! S R R7      # )Frl  r   )r   ri  s   ry   r   'test_numpy_conversion.<locals>.<lambda>m  s    %"6r{   N)rn  ri  rj  ImportErrorr`   r   intrf   splitr_   	TypeError)rj  np_arrayr   ri  s     @@ry   test_numpy_conversionrw  c  s    P, 	1!u~AqeaU^$HuQx****uQT*H5555
77!!#&q)*a/y67 0  PNOPs   B# #B<;B<c                  t   \        ^^.^^..4      p W P                  ^ 4      u;8X  d   V P                  ^4      8X  g   Q h Q hV P                  ^4      V P                  R4      u;8X  d)   V P                  ^4      u;8X  d   \        R4      8X  g   Q h Q hV P                  ^4      V P                  R4      u;8X  d)   V P                  ^4      u;8X  d   \        R4      8X  g   Q h Q hV P                  4       V P                  R4      u;8X  d)   V P                  R4      u;8X  d   \        R4      8X  g   Q h Q hR# )	ri   Nr   ))rk   rj   rh   ri   r   ))rh   rk   ri   rj   )rj   ri   )rk   rh   )r   rot90r  s    ry   
test_rot90r  o  s    AA A
(aggaj(((((771:N
Nf=M6NNNNNN771:N
Nf=M6NNNNNN779Nqwwr{Nf=M6NNNNNNr{   c                     \        ^\        .\        ^..4      P                  \        ^4      \        ^^.^^..4      8X  g   Q h\        \        ^.\        \        ,           ^..4      P                  \        R.\        R..4      \        R^.R^..4      8X  g   Q h\        \        ^.\        \        ,           ^..4      P                  \        R3\        R3.4      \        R^.R^..4      8X  g   Q h\        \        ^.\        \        ,           ^..4      P                  \        R\        R/4      \        R^.R^..4      8X  g   Q h\        \        \        ,          ..4      P                  \        \        ^,
          \        \        ^,
          /RR7      \        \        ^,
          \        ^,
          ,          ..4      8X  g   Q hR# )ri   T)simultaneousNr   r   r|  )r   rP   subsrQ   r   r{   ry   	test_subsr  w  s   Aq6Aq6"#((A.&1a&1a&9I2JJJJAq6AE1:&',,q"g2w-?@B7RG$%& & &Aq6AE1:&',,q"g2w-?@B7RG$%& & &Aq6AE1:&',,aQ^<B7RG$%& & &AaC5'?AE1a!e 44HQUQUO$%&' ' 'r{   c                  H  a \        ^^. R
O4      o\        \        V3R l4       \        \        V3R l4       SP                  ! ^ ^.^ ^..4      p SP
                  ! ^ ^.^ ^..4      T u;8X  d   \        . RO. RO. RO.4      8X  g   Q h Q hSP                  ! ^ ^.^ ^..4      p SP
                  ! ^ ^.^ ^..RR7      T u;8X  d   \        . RO. RO. RO.4      8X  g   Q h Q hSP                  ! ^ ^.^ ^..RR7      p SP
                  ! ^ ^.^ ^..RRR7      T u;8X  d   \        . RO. RO. RO.4      8X  g   Q h Q hSP
                  ! . RO4      \        . RO. RO. RO.4      8X  g   Q h^ RIHp SP
                  ! V! . RO4      4      \        . RO. RO. RO.4      8X  g   Q hR	# )rj   c                  .   < S P                   ! ^ ^..4      # r   )permuter  s   ry   r   test_permute.<locals>.<lambda>  s    qyy1a&2r{   c                  :   < S P                   ! \        R 4      4      # rx   )r  r$   r  s   ry   r   r    s    qyy5r{   rv   )orientationbackward)	direction)r  r  )PermutationN)ri   rh   rj   rk   rl   rm   r   r   r   r   r      r  r   r   r   r  r  )rh   rj   ri   rk   )rm   r   rl   r   )r   r   r   r  )rj   ri   rh   rk   )r   rl   rm   r   )r   r   r   r  )ri   rh   r   rj   )	r   r_   r   
ValueErrorpermute_rowsr  permute_colssympy.combinatoricsr  )rL   r  rK   s     @ry   test_permuter    s   q!<=A
:23
:56	AA'(A99q!fq!f%&! >v,;,;,;7= 0> > > > > >
 	
AA'(A99q!fq!f%6:a ."+++$- .. . . . . 	
AA':>A99q!fq!f%6ZPTU ."+++$- .. . . . . 99\"f,;,;,;.= '> > > >
 099[./6,;,;,;;= 4> > > >r{   c                  L   \        . RO. RO. RO. RO.4      p V P                  ^4      pV\        . RO. RO. RO. RO.4      8X  g   Q hV P                  R4      pV\        . RO. RO. RO. RO.4      8X  g   Q hV P                  4       pV\        . RO. RO. RO. RO.4      8X  g   Q hR# )ri   Nri   ri   ri   ri   r   r   ri   ri   r   r   r   ri   r   r   r   r   r   )r   ri   ri   ri   )r   upper_triangular)r   Rs     ry   test_upper_triangularr    s    	 	A 	
1A$$$$	     	
2A$$$$	     	
A$$$$	    r{   c                  L   \        . RO. RO. RO. RO.4      p V P                  4       pV\        . RO. RO. RO. RO.4      8X  g   Q hV P                  ^4      pV\        . RO. RO. RO. RO.4      8X  g   Q hV P                  R4      pV\        . RO. RO. RO. RO.4      8X  g   Q hR# )ri   Nr  ri   r   r   r   ri   ri   r   r   ri   ri   ri   r   r   r  )r   lower_triangularr   Ls     ry   test_lower_triangularr    s    $$$$	 	A 	
A$$$$	& ' ' ' ' 	
1A$$$$	     	
2A$$$$	    r{   c            	        a a \        . RO\        \        \        .^\        ,          R\        \        ,          ..4      o S S ,           \        . RO^\        ,          ^\        ,          ^\        ,          .^\        ,          R^\        ,          \        ,          ..4      8X  g   Q h\        ^^^^.4      o\	        \
        V V3R l4       R# )ri   c                     < S S,           # r   r   r   rO  s   ry   r   test_add.<locals>.<lambda>  	    q1ur{   Nrt   rh   rk   rm   r   rP   rQ   rR   r_   rX   r  s   @@ry   test_addr        	Aq!9qsC1o67Aq5FI!QqS!A#1dAaCE8JKLLLLq!aVA
:}%r{   c                  D   \        ^^.^^..4      p V P                  ! ^4      \        8X  g   Q hV P                  ! ^4      \        8X  g   Q h \	        R4        \	        R4       R#   \
         d     L\         d     L'i ; i  \
         d     R# \         d     R# i ; i)ri   z2 @ aza @ 2N)r   
__matmul__NotImplemented__rmatmul__evalSyntaxErrorru  r  s    ry   test_matmulr    s    AA A<<?n,,,==~---WW      s<   A& B &B 3B <B ?B BBBBc                      ! R R\         4      p \        ^^.^^..4      pV ! 4       pW!,          \        V^V,          .^V,          ^V,          ..4      8X  g   Q hW,          \        V^V,          .^V,          ^V,          ..4      8X  g   Q hR# )zX
Test that if explicitly specified as non-matrix, mul reverts
to scalar multiplication.
c                   "    ] tR tRtRtRtRtRtR# )test_non_matmul.<locals>.fooi  Fr   Nrn   )__name__
__module____qualname____firstlineno__	is_Matrixis_MatrixLikeshape__static_attributes__r   r{   ry   foor    s    	r{   r  N)r	   r   )r  r   rL   s      ry   test_non_matmulr  	  s    
d 
 	AA AA3&1ac(QqS!A#J/00003&1ac(QqS!A#J/0000r{   c                  R    \        ^^^^.4      p V ) \        ^^RR.4      8X  g   Q hR# )ri   Nr   r   r   rN  s    ry   test_negr    s1    q!aVA21r2h''''r{   c                  \    \        ^^^^.4      p W ,
          \        ^^^ ^ .4      8X  g   Q hR# r}   r  rN  s    ry   test_subr    s1    q!aVA5F1a!Q((((r{   c            	          \        ^^^^.4      p V ^,          \        ^^\        P                  \        ^4      ^,          .4      8X  g   Q hR# r}   )r   r"   r   rN  s    ry   test_divr  #  s@    q!aVAQ3&A!Q/0000r{   c                  \   \        \        P                  ! ^^4      4      . RO8X  g   Q h\        \        P                  ! ^4      4      . RO8X  g   Q h\        \        P                  ! ^4      4      \        8X  g   Q h\        \        P                  ! ^\        R7      4      \        8X  g   Q hR# )rh   rT  Nri   r   r   ri   )rw   r   r.   typer   r{   ry   test_eyer  (  st    

1a !\111

1,...

1&(((

1&)*f444r{   c                     \        \        P                  ! ^^4      4      . RO8X  g   Q h\        \        P                  ! ^4      4      . RO8X  g   Q h\        P                  ! ^^4      \        . RO. RO.4      8X  g   Q h\        \        P                  ! ^4      4      \        8X  g   Q h\        \        P                  ! ^\        R7      4      \        8X  g   Q hR# )rh   rT  Nr  ri   ri   ri   )rw   r   r5   r  r   r{   ry   	test_onesr  /  s    Aq!"l222A<///;;q!	9'= >>>>A6)))A6*+v555r{   c                     \        \        P                  ! ^^4      4      . RO8X  g   Q h\        \        P                  ! ^4      4      . RO8X  g   Q h\        P                  ! ^^4      \        . RO. RO.4      8X  g   Q h\        \        P                  ! ^4      4      \        8X  g   Q h\        \        P                  ! ^\        R7      4      \        8X  g   Q hR# )rh   rT  Nr  r   )rw   r   rI   r  r   r{   ry   
test_zerosr  7  s    Q"#|333Q L000<<1I(>!????Q F***QF+,666r{   c                  |	  a aaa \         P                  o\        ^^.^^..4      o \        ^\        .\        ^..4      o\        ^\        ^.\        ^\        .\        \        \        ..4      oS! S SS4      \        . R	O. R
O^ ^ ^\        ^ ^ .^ ^ \        ^^ ^ .^ ^ ^ ^ ^\        .^ ^ ^ ^ \        ^..4      8X  g   Q hS! S SS4      \        . RO. RO^ ^ ^\        ^ ^ ^ .^ ^ \        ^^ ^ ^ .^ ^ ^ ^ ^\        ^.^ ^ ^ ^ \        ^\        .^ ^ ^ ^ \        \        \        ..4      8X  g   Q hS! S SS4      \        . RO. RO^ ^ ^\        ^^ ^ .^ ^ \        ^\        ^ ^ .^ ^ \        \        \        ^ ^ .^ ^ ^ ^ ^ ^\        .^ ^ ^ ^ ^ \        ^..4      8X  g   Q h\        \        \        \        .4      o \        ^^.^^..4      o\        ^^..4      oS! S ^SS4      \        \        ^ ^ ^ ^ ^ .\        ^ ^ ^ ^ ^ .\        ^ ^ ^ ^ ^ .. RO. RO. RO. RO.4      8X  g   Q h\        \        V VVV3R l4       S! ^4      \        ^..4      8X  g   Q hS! ^^R7      \        ^^ .^ ^ ..4      8X  g   Q hS! ^^R7      \        ^^ .^ ^ ..4      8X  g   Q hS! ^^^R7      \        ^^ .^ ^ .^ ^ ..4      8X  g   Q hS! ^^.!  \        ^^ .^ ^..4      8X  g   Q hS! \        ^^.4      4      \        ^.^..4      8X  g   Q hS! ^^^.^.RR7      S! ^.^^.^..RR7      u;8X  d   \        ^^ .^^.^^ ..4      8X  g   Q h Q h\        S! ^4      4      \         8X  g   Q h\        S! ^\         R7      4      \         8X  g   Q h\         P                  ! . RO4      \         P                  ! ^^^4      8X  g   Q h\         P                  ! . RORR7      P                  R8X  g   Q h\         P                  ! . RO.4      P                  R8X  g   Q h\         P                  ! . RO.RR7      P                  R8X  g   Q h\         P                  ! . RO..4      P                  R8X  g   Q h\         P                  ! \        ^ ^4      ^^4      \        . RO. RO.4      8X  g   Q h\         P                  ! \        ^^ 4      ^^4      \        ^ ^ .^ ^ .^^ .^ ^..4      8X  g   Q hR# )ri   c                     < S! S ^SS^R7      # )r   ru   r   rK   rL   rM   r*   s   ry   r    test_diag_make.<locals>.<lambda>l  s    tAq!QQ7r{   r  )rv   )ru   rv   F)unpackrT  N)ri   rh   r   r   r   r   )rh   rj   r   r   r   r   )ri   rh   r   r   r   r   r   )rh   rj   r   r   r   r   r   )r   r   r   r   r   r   )r   r   ri   rh   r   r   )r   r   rj   rk   r   r   )r   r   r   r   rl   rm   rt   r}  rz  r   r   ri   r   )r   r   r   rh   )
r   r*   rP   rQ   rR   r_   r  r  r  r5   r  s   @@@@ry   test_diag_maker  ?  sQ   ;;DAA AAA AAq	Aq!9q!Qi01A1a=F	
Aq!Q	
Aq!Q	
Aq!Q	
Aq!Q$     1a=F	
Aq!Q1	
Aq!Q1	
Aq!Q1	
Aq!Q1	
Aq!Q1$     1a=F	
Aq!Q1	
Aq!Q1	
Aq!Q1	
Aq!Q1	
Aq!Q1$     	1ayAAA AAxA 1av	
Aq!Q	
Aq!Q	
Aq!Q'      :787fqcUm###?fq!fq!f%56666?fq!fq!f%56666"fq!fq!fq!f-E&FFFF!Q=F	
A	
A$     1v6	
	
+ $    QFAu-1#1vs#E26<	
A	
A	
A> 7    
 Q=F"""QF#$...;;y!V[[Aq%9999;;y/55???;;	{#))V333;;	{51776AAA;;}%++v555;;tAqz1a(F4 -    ;;tAqz1a(F	
A	
A	
A	
A	4 -   r{   c                    a \        ^^\        ^	4      4      oSP                  4       p V SP                  ^ 4      8X  g   Q h\        V 4      R8X  g   Q h\        SP                  ^4      4      R8X  g   Q h\        SP                  R4      4      R8X  g   Q h\        SP                  ^4      4      R	8X  g   Q h\	        SP                  4       4      \	        S4      8X  g   Q h\        ^^R
^/4      p\	        VP                  4       4      \	        V4      8X  g   Q h\	        S4      \	        V4      8w  g   Q h\        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        ^^4      p\        \        ^VP                  ,
          VP                  4       Uu/ uF  pV\        VP                  V4      4      bK   	  up4      V8X  g   Q hR# u upi )rj   c                  &   < S P                  ^4      # r   diagonalr   s   ry   r   test_diagonal.<locals>.<lambda>  s    qzz!}r{   c                  &   < S P                  R4      # )rj   r|  r  r   s   ry   r   r    s    qzz"~r{   c                  .   < S P                  \        4      # r   )r  r7   r   s   ry   r   r    s    qzz"~r{   N)r   rk   r   ri   rl   r   )rj   r   rh   rn   )r   r   r  tupler  r#   r_   r  r5   r'   ru   rv   rw   )rN   sr<  r   r   s       @ry   test_diagonalr    s   q!U1XA	

A

18y   A6)))B F***A4'''

a(((QFA;'A

a(((7d1g
:,-
:-.
:-.Q
Aqx(*(A d1::a=))(* +./0 0 0 *s   '$Gc                     \         P                  ! ^^4      \         P                  ! ^^R7      u;8X  dw   \         P                  ! ^^R7      u;8X  dY   \         P                  ! ^^RR7      u;8X  d:   \         P                  ! ^^^R7      u;8X  d   \        . RO. RO. RO.4      8X  g   Q h Q h\         P                  ! ^^RR7      \        . RO. RO. RO.4      8X  g   Q h\        \        R 4       \        \        R 4       \        \        R	 4       \        \        R
 4       \         P                  ! ^^R7      \         P                  ! ^^R7      8X  g   Q hR# )rj   
eigenvalue)sizer  upper)band)r  eigenvalr  lowerc                  .    \         P                  ! ^4      # r  r   jordan_blockr   r{   ry   r   #test_jordan_block.<locals>.<lambda>  s    v2215r{   c                  0    \         P                  ! R ^4      # )g      @r  r   r{   ry   r   r    s    v223:r{   c                  0    \         P                  ! ^R7      # )rh   r  r  r   r{   ry   r   r    s    v22a@r{   c                  2    \         P                  ! ^^R7      # )rh   )r  r  r  r   r{   ry   r   r    s    Fq"r{   )r  r  Nrh   ri   r   )r   rh   ri   r   rh   r   r   r7  r  )r   r  r_   r  r   r{   ry   test_jordan_blockr    s:   q!$(;(;A!(L ""a8""1ag6 ""q2
       q!'2f> 7       
 :56
::;
:@A
:"#
 A!4Q/0 0 0r{   c            	        a \        ^^.^^..4      p V P                  \        ^.^..4      4      \        ^.^..4      .8X  g   Q hV P                  \        ^.^..4      RR7      \        ^\        ^4      ,          ^,          .\        ^4      ^,          ..4      .8X  g   Q hV P                  \        ^.^..4      \        R.^..4      4      \        ^.^..4      \        \        R^4      .\        ^^4      ..4      .8X  g   Q hV P                  \        ^ .^ ..4      \        R.^..4      4      \        R.^..4      .8X  g   Q hV P                  \        ^ .^ ..4      4      . 8X  g   Q h\        . RO. R	O. R
O.4      p\        R.^..4      \        R.^..4      \        R.R..4      .oVP                  ! S!  \        R.^..4      \        \        ^^4      .\        ^^4      ..4      .8X  g   Q h\        . RO4      \        . RO4      \        . RO4      .o\	        \
        V3R l4       \        . RO4      \        . RO4      \        . RO4      .o\	        \
        V3R l4       R# )ri   T	normalizec                  0   < \         P                  ! S R R/ # 	rankcheckTr   orthogonalizevecss   ry   r   $test_orthogonalize.<locals>.<lambda>      v33TJTJr{   c                  0   < \         P                  ! S R R/ # r  r  r  s   ry   r   r    r  r{   Nr   )r   ri   r   )rj   rm   r   )r   rl   rh   r   r   r   rt   )ri   rk   rl   rq   r   )r   r   rB   r    r_   r  )r   rO  r  s     @ry   test_orthogonalizer    s^   AA A??6A3*-.6A3*3E2FFFF??6A3*-?>	!DG)A+a,	-./ / /??6A3*-vtaSk/BC	!qc
	VhsA&6%7(1a.9I$JKLM M M??6A3*-vtaSk/BC	"s	  ??6A3*-."444	:y12ARD1#;"s!4frdRD\6JKD??D!	"s	fx2&7(2r:J9K%LMNO O O 9vi0&2CDD
:JK9vi0&2CDD
:JKr{   c                  n   \         P                  ! ^4      w  rV \        . RO. RO. RO.4      8X  g   Q hV\        . RO. RO. RO.4      8X  g   Q h\         P                  ! ^4      w  rV \        . RO. RO. RO. R	O. R
O. RO. RO.4      8X  g   Q hV\        . RO. RO. RO. R	O. R
O. RO. RO.4      8X  g   Q hR# )ri   N)r   ri   r   ri   r   ri   )r   ri   ri   ri   ri   r   )r|  ri   r   r   r   r   r   )ri   r   ri   r   r   r   r   )r   ri   r   ri   r   r   r   )r   r   ri   r   ri   r   r   )r   r   r   ri   ri   ri   r   )r   r   r   r   ri   rh   ri   )r   r   r   r   r   ri   rj   )rj   ri   r   r   r   r   r   )ri   rh   ri   r   r   r   r   )r   ri   ri   ri   r   r   r   )r   	wilkinson)wminuswpluss     ry   test_wilkinsonr    s    $$Q'MFV * ) )+ , , , , F%%%' ( ( ( (
 $$Q'MFV 8 7 7 7 7 7         F11111113 4 4 4 4r{   c            	      f   \        R 4      w  r\        ^^^V ,          V.4      pVP                  V ^4      \        ^^\        ^^4      V.4      8X  g   Q h\        ^^\	        V 4      V ,          3V^^3^
^V ^,          ^,           334      pVP                  V ^ 4      \        RV^^3R34      8X  g   Q hR# )x yN)ri   rk   ri   )r   rl   ri   )rD   r   limitr    rA   )rP   rQ   r   r   s       ry   
test_limitr    s    5>DAq!ac1XA771a=F1a(1a.!)<====As1vax 1a)b!QTAX->?@A771a=FI1ay*#EFFFFr{   c                     a a \        . RO. RO. RO.4      o . ROo\        \        V V3R l4       \        \        V V3R l4       R# )ri   c                     < S S,          # r   r   r<  vs   ry   r   "test_issue_13774.<locals>.<lambda>  	    acr{   c                     < SS ,          # r   r   r  s   ry   r   r    r  r{   Nrt   rq   r   r  )r   r_   ru  r  s   @@ry   test_issue_13774r     s-    	9i01AA
9k"
9k"r{   c                  N  aa \        R 4      o\        R4      o\        \        R 4       \        \        V3R l4       \        \        V3R l4       \        \        VV3R l4       \        R4      w  rp\        P
                  ! \        ^V .S4      4      \	        V ) .4      8X  g   Q h\        P
                  ! \        ^W.S4      4      \	        ^ V ) .^V) ..4      8X  g   Q h\        P
                  ! \        ^W!V .S4      4      \	        ^ ^ V ) .^^ V) .^ ^V) ..4      8X  g   Q hR# )rP   rQ   c                  .    \         P                  ! ^4      # ri   )r   	companionr   r{   ry   r    test_companion.<locals>.<lambda>
  s    v//2r{   c                  F   < \         P                  ! \        ^.S 4      4      # r  r   r  r   rx   s   ry   r   r    s    v//aS!=r{   c                  H   < \         P                  ! \        ^^.S 4      4      # r  r!  rx   s   ry   r   r    s    v//aVQ@r{   c                  V   < \         P                  ! \        S S,          S S.4      4      # r   r!  rP   rQ   s   ry   r   r    s    v//QqS1a&0ABr{   zc0:3N)r$   r_   r  rD   r   r  r   )c0c1c2rP   rQ   s      @@ry   test_companionr(    s   sAsA
:23
:=>
:@A
:BCJBBD!R!,-">>>D!Ra01RC1rc(#$% % %D!RR!45AsaRC[1a"+678 8 8r{   c            	      H   \        R 4      w  rp\        WV.4      pVP                  \        WV.. RO4      4      pV\        ^.^.^..4      8X  g   Q h\        W W V .W W V .W W V ..4      pVP                  \        V .^.4      4      pV\        . RO. RO. RO.4      8X  g   Q hR# )zx, y zNrt   )ri   ri   ri   ri   ri   )rD   r   r  zip)rP   rQ   rR   r   r   s        ry   test_issue_10589r+    s    hGA!	q		B	aAY	*	+B!qcA3((((	!a1q/A!?C	DB	aS1#	B/?KLLLLr{   c                       ! R  R\         4      p \        ^^. RO4      pV ! ^^. RO4      pW,          p\        W04      '       g   Q hV\        ^^
.^^..4      8X  g   Q hR# )c                   <    ] tR tRt]P
                  R,           tRtR# )test_rmul_pr19860.<locals>.Fooi#  g{Gz?r   N)r  r  r  r  r   _op_priorityr  r   r{   ry   Foor.  #  s    )66=r{   r0  Nr  )r   r   
isinstance)r0  rK   rL   rM   s       ry   test_rmul_pr19860r2  "  sg    >" > 	q!\"AAq,A 	
AaB"b*++++r{   c                     a a \        ^^.^^..4      o \        ^^.^^..4      o\        \        V V3R l4       \        \        V V3R l4       R# )ri   c                     < SS ,           # r   r   r   r   s   ry   r   "test_issue_18956.<locals>.<lambda>4  	    a!er{   c                     < S S,           # r   r   r5  s   ry   r   r6  5  r7  r{   N)r   r   r_   ru  r5  s   @@ry   test_issue_18956r9  1  sD    1v1vA1qe}A
9m$
9m$r{   c                       ! R  R\         4      p \        ^^^^.4      pW! 4       8w  g   Q h ! R RV 4      pW! 4       8X  g   Q hR# )c                   ,   a  ] tR tRt o R tR tRtV tR# )test__eq__.<locals>.Myi9  c              3     "   ^x  ^x  R# 5ir}   r   selfs   &ry   __iter__test__eq__.<locals>.My.__iter__:  s     GGs   c                &    \        V 4      V,          # r   )rw   )r?  r   s   &&ry   __getitem__"test__eq__.<locals>.My.__getitem__>  s    :a= r{   r   N)r  r  r  r  r@  rC  r  __classdictcell____classdict__s   @ry   Myr<  9  s     		! 	!r{   rH  c                   &   a  ] tR tRt o R tRtV tR# )test__eq__.<locals>.My_sympyiB  c                    \        V 4      # r   r  r>  s   &ry   _sympy_$test__eq__.<locals>.My_sympy._sympy_C  s    $<r{   r   N)r  r  r  r  rL  r  rE  rF  s   @ry   My_sympyrJ  B  s     	  	 r{   rN  N)objectr   )rH  rK   rN  s      ry   
test__eq__rP  8  sL    !V ! 	q!aVA99 2   
??r{   c                     \        \        4       EF=  w  rVP                  ^^4      pVP                  R8X  dO   \        ;QJ d&    R VP                   4       F  '       d   K   RM	  RM! R VP                   4       4      '       g   Q hVP
                  ^8X  d   \        VP
                  4      \        J g   Q hVP                  ^8X  d   \        VP                  4      \        J g   Q hV ^,          '       g3   \        VP                  4       4      \        \        \        39   g   Q hEK  \        VP                  4       4      \        J d   EK>  Q h	  R# )rj   c              3   D   "   T F  p\        V4      \        J x  K  	  R # 5ir   )r  rs  )rH  r   s   & ry   rI  test_args.<locals>.<genexpr>L  s     (IAaCs    FTN)rj   rh   )	enumerateall_classesrI   r  rP  ru   r  rs  rv   r   rw   r  r%   r   r   )rO  rU  r   s      ry   	test_argsrV  H  s    K(IIaOww& SS(I(ISSS(I(I%I%IIIvv{tAFF|s222vv{tAFF|s2221uu>dE5%9999	?d*** )r{   c                     \         \        3 FS  p V P                  ^^4      p\        4       ;_uu_ 4        VP                  pRRR4       XVP                  4       8X  d   KS  Q h	  \        \        3 FS  p V P                  ^^4      p\        4       ;_uu_ 4        VP                  pRRR4       XVP                  4       8X  d   KS  Q h	  R#   + '       g   i     L; i  + '       g   i     L@; i)rj   N)
r   r   rI   rc   _matr   r#   r   _smatr   )rU  r   matsmats       ry   test_deprecated_mat_smatr\  U  s    &IIaO#%%&&C &affh	 '
 22IIaO#%%77D &qwwy   	 3 &%
 &%s   C	C	CC,c                      \        ^^\        \        .4      p V \        ,          \        ^^\        \        ,          \        \        ,          .4      8X  g   Q hR# r}   )r   rP   rQ   rR   )r  s    ry   test_divisionr^  b  s;    q!aVAQ3&A!QqSz****r{   c            	        a a \        . RO\        \        \        .^\        ,          R\        \        ,          ..4      o S S ,           \        . RO^\        ,          ^\        ,          ^\        ,          .^\        ,          R^\        ,          \        ,          ..4      8X  g   Q h\        ^^^^.4      o\	        \
        V V3R l4       R# )ri   c                     < S S,           # r   r   r  s   ry   r   test_sum.<locals>.<lambda>k  r  r{   Nrt   r  r  r  r  r  s   @@ry   test_sumrb  g  r  r{   c                  0   \        ^R.\        \        ..4      p \        V 4      \        ^^.\	        \        4      \	        \        4      ..4      8X  g   Q h\        ^^R\        .4      p \        ^^^\	        \        4      .4      p\        V 4      V8X  g   Q hR# )ri   Nr   r|  )r   rP   rQ   absr   r  s     ry   test_absre  n  s~    B!Q !Aq6VaVc!fc!f%567777q!b!WAq!aQ[!Aq6Q;;r{   c                      \        R4      p \        R4      pW,           V P                  ! V4      u;8X  d   \        ^^.^^..4      8X  g   Q h Q hR# )ri   N)ri   rh   r}  rg  )rj   r   )r   addrK   rL   s     ry   test_additionrk  v  sY      	A
 	  	A
 5AEE!H8AA'7 888888r{   c            
      ,   \         \        3 EF  p V ! ^^\        ^	4      4      pWR,          8X  g   Q hVR,          \        ^^. RO4      8X  g   Q hVR,          \        . RO4      8X  g   Q hV^ ^.R3,          \        . RO. RO.4      8X  g   Q hV^ ^.^3,          V^ ^.^.3,          8X  g   Q hV^^ ^.3,          V^.^ ^.3,          8X  g   Q hVR^ ^.3,          \        ^ ^.^^.^^..4      8X  g   Q hVR	,          ^ 8X  g   Q hVR
,          \        . RO. RO.4      8X  g   Q hVR,          \        ^ ^.^^.^^..4      8X  g   Q hVR,          V^ ^.^3,          8X  g   Q hVR,          V^^ ^.3,          8X  g   Q hV ! ^^\        ^	4      4      pV. ROR3,          \        . RO. RO. RO. RO. RO.4      8X  g   Q hVR. RO3,          \        . RO. RO. RO.4      8X  d   EK  Q h	  \        P                  ! ^4      p^VR&   ^VR&   ^VR&   VP                  ! ^^.^.4      \        ^.^..4      8X  g   Q hVP                  ! ^^ .. RO4      \        . RO. RO.4      8X  g   Q hVP                  ! . RO. RO4      \        . RO. RO. RO. RO.4      8X  g   Q hR# )rj   rp   Nrs   ro   r  rr   r   r  r   )r   rh   Nrp   )rp   rm  )NNrh   ri   )ri   rn  )r   rh   ri   rh   ri   r  )rj   rl   rk   rl   rk   )rm   r   r   r   r   rg  r   rh   r   )rh   rh   rh   r   )ri   r   ri   rh   )rh   r   ri   r   rh   r   r   r   )r   r   rj   r   )r   rk   r   rk   )r   r#   r   rI   r   )r<  rK   s     ry   test_fancy_index_matrixrq    s   l#aE!HdG||w&Ay1111w&++++!Q|vy)&<====!Q|q!Q!~---QF|q!q!f~---QF|v1v1v1v&>????w!||yFIy#9::::yFQFQFQF#;<<<<yAq!faiL(((yAa!QiL(((aE!H!#$0 )  	  K F, %  	 + $4 	1AAdGAdGAdG99aVaS!VCC-	 &
 
 
 
 99aVY'63 ,    99\<0F	< 5   r{   c                    aa \        R4      o\        R4      o\        \        VV3R l4       \        \        V3R l4       SS,          p V R,          ^8X  g   Q hV R	,          ^8X  g   Q hV R
,          ^8X  g   Q hV R,          ^8X  g   Q hV R,          ^8X  g   Q hV R,          ^ 8X  g   Q hSS,          p V R,          ^8X  g   Q hV R	,          ^8X  g   Q hV R
,          ^8X  g   Q hV R,          ^8X  g   Q hV R,          ^8X  g   Q hV R,          ^ 8X  g   Q h\	        SV 4      pVSP
                  ! V 4      8X  g   Q hVR,          ^8X  g   Q hVR	,          ^8X  g   Q hVR
,          ^8X  g   Q hVR,          ^8X  g   Q hVR,          ^ 8X  g   Q hVR,          ^ 8X  g   Q h\        \        VV3R l4       S\        R4      ,          p \        V \         4      '       g   Q hV R,          \        8X  g   Q hV R	,          ^\        ,          8X  g   Q hV R
,          ^\        ,          8X  g   Q hV R,          ^ 8X  g   Q h\        S,          pW8X  g   Q h^S,          p \        V \         4      '       g   Q hV R,          ^8X  g   Q hV R	,          ^
8X  g   Q hV R
,          ^8X  g   Q hV R,          ^ 8X  g   Q h\        \        ^ .^ \        ..4      pV^,          V8X  g   Q h\        \        \        .^ ^ ..4      pV^,          \        \        \        .\        \        ..4      8X  g   Q h\        \        ^^4      4      p\        ^^4      ) p\        WUV.4      pVP                  V4      \        V.V.V..4      8X  g   Q hR# )ri   c                     < SS ,          # r   r   rj  s   ry   r   %test_multiplication.<locals>.<lambda>  s	    qsr{   c                     < S / ,          # r   r   r  s   ry   r   rt    s	    adr{   c                     < \        S S4      # r   )r3   rj  s   ry   r   rt    s    :1a@r{   rP   N)rg  r}  r   rm   rh  r   r   r   rn   ro  ry  )r   r_   rX   ru  r3   multiply_elementwiser$   r1  rP   r6   r4   r5   r    )	rM   hr'  r<  r   _hr   rK   rL   s	          @@ry   test_multiplicationr{    s8     	A 	  	A
 :{#
9l#	!AT7a<<T7a<<T7a<<T7a<<T7b==T7a<<	AAT7a<<T7a<<T7a<<T7a<<T7b==T7a<<#Aq)A&&q))))T7a<<T7a<<T7b==T7a<<T7a<<T7a<<
:@A	F3KAa    T7a<<T7ac>>T7ac>>T7a<<	
QB7N7	AAa    T7a<<T7c>>T7c>>T7a<<Q!R!"A6Q;;R1a&!"A6Vc3Z#s45555 	tAqzA
1a.B|A!!!$			0 )   r{   c                    a aaa \        \        R  4       \        ^^.^^..4      o S ^,          \        RR.RR..4      8X  g   Q h\        . R#O. R$O. R%O.4      o S ^,          \        . R&O. R'O. R(O.4      8X  g   Q hS ^ ,          \        ^4      8X  g   Q hS ^,          S 8X  g   Q h\        ^..4      ^d,          R),          ^^d,          8X  g   Q h\        ^^.^^..4      \	        ^4      ,          \        ^^
.^^..4      8X  g   Q h\        ^^.^^..4      o S P                  ^RR7      S P                  ^RR7      8X  g   Q hS \	        ^4      ,          \        ^	^.^^!..4      8X  g   Q h\        ^4      R,          \        ^4      8X  g   Q h\        ^!^.^0^9..4      o S \        P                  ,          R	,          . R*O8X  g   Q h\        ^ ^.R+^..4      o S \        P                  ,          ^,          S 8X  g   Q h\        ^^ .^^..4      \        P                  ,          \        ^^ .\        P                  ^..4      8X  g   Q h\        ^^ .^^..4      R
,          \        ^^ .R
^..4      8X  g   Q h^ RIH	o \        ^\        .^ ^..4      S,          \        ^\        S,          .^ ^..4      8X  g   Q h\        \        \        .^ \        ..4      S,          \        \        S,          \        \        S^,
          ,          ,          S,          .^ \        S,          ..4      8X  g   Q h\        \        S,          \        S^,
          ,          S,          \        S,          S^,          ,          \        S,          S,          ,
          ^\        ^,          ,          ,          .^ \        S,          \        S^,
          ,          S,          .^ ^ \        S,          ..4      '       g   Q h\        \        ^^ .^ \        ^ .^ ^ \        ..4      S,          \        \        S,          \        S^,
          ,          S,          ^ .^ \        S,          ^ .^ ^ \        S,          ..4      8X  g   Q h\        ^^ .^^..4      o S P                  \        ^4      4      S P                  ^4      8X  g   Q h\        ^..4      o S ^
,          \        R,..4      u;8X  d8   S P                  \        ^
4      4      u;8X  d   S P                  ^
4      8X  g   Q h Q h\        . R-O. R.O. R/O. R0O. R1O.4      o\        \        V3R l4       \        \        R 4       \        . R2O. R3O. R4O.4      o S R,          \        . R4O. R4O. R4O.4      8X  g   Q h\        \        V 3R l4       \        \        V 3R l4       \        ^^.^^..4      o S R,          \        RR.RR..4      8X  g   Q h\        . R3O. R3O. R3O.4      o S R,          \        . R3O. R3O. R3O.4      8X  g   Q h\        . R2O. R3O. R3O.4      o S R,          \        . R3O. R3O. R3O.4      8X  g   Q h\!        RRR7      o\#        S S,          \$        4      '       g   Q h\!        RRRR7      o\        \        V V3R l4       \!        RRRR7      oS S,          \        \'        ^ S4      \'        ^S4      \'        ^ S4      ) \'        ^S4      ,
          ^,           .^ \'        ^ S4      ^\'        ^ S4      ,
          .. R3O.4      8X  g   Q hS S^,           ,          \        . R3O. R3O. R3O.4      8X  g   Q h\        \        V 3R l4       \        . R3O. R5O. R6O.4      o S R,          \        . R7O. R8O. R9O.4      8X  g   Q hS R,          S ^,          8X  g   Q h\        . R2O. R:O. R4O.4      o \!        R4      oS S,          oSP)                  S^4      P+                  4       S ^,          8X  g   Q h\        \        VV3R l4       SS,          S ^S,          ,          8X  g   Q h\        . R4O. R4O. R4O.4      o \!        RRRR7      oS S,          S 8X  g   Q h\!        RRRR7      oS S,          \-        ^ S,          ^ S,          ^ S,          4      8X  g   Q hS S,          P)                  S^ 4      \        ^4      8X  g   Q hS S,          P)                  S^4      \/        ^4      8X  g   Q h\        . R;O. R<O. R=O.4      o S R,          \-        R>R>R>4      8X  g   Q hS \0        ,          \-        ^\0        ,          ^\0        ,          ^\0        ,          4      8X  g   Q h\        . R2O. R3O. R3O.4      o \        \        V 3R  l4       \        \        V 3R! l4       \        \        P                  \        P                  .\        P                  \        P                  ..4      o S \        P                  ,          S 8X  g   Q h\        ^^.^^..4      o S \        P                  ,          \        \        P                  \        P                  .^\        P                  ,          ^\        P                  ,          ..4      8X  g   Q hR"# )?c                  &    \        R4      ^,          # ri   rg  r  r   r{   ry   r   test_power.<locals>.<lambda>  s    ):r{   i  i  i,*  i7  cayleymethodmultiplyi rp   g      ?rN  c                  8   < S P                  \        ^
4      4      # r   )_matrix_pow_by_jordan_blocksr"   r   s   ry   r   r  %  s     > >qu Er{   c                  T    \        ^^.^^..4      P                  \        R4      4      # )ri   )r   r  r"   r   r{   ry   r   r  (  s(    AA'7 8 U UVWX[V\ ]r{         $@c                     < S R ,          #  @r   r  s   ry   r   r  +  	    q#vr{   c                  *   < S \        ^^4      ,          # r   r    r  s   ry   r   r  ,      q(1a.0r{   ihiO<iv0irO  T)integer)r  negativec                     < S S,          # r   r   )r   rO  s   ry   r   r  6  s	    q!tr{   )r  nonnegativec                  *   < S \        ^^4      ,          # r   r  r  s   ry   r   r  =  r  r{   g      @c                  D   < S P                  SR4      P                  4       # )rh   r   )r  rA  )AnrO  s   ry   r   r  E  s    rwwq"~224r{   )r  positiver  c                     < S R ,          # r  r   r  s   ry   r   r  T  r  r{   c                     < S \         ,          # r   r   r  s   ry   r   r  U  s	    q!tr{   N)rh   ri   rj   )rk   rh   rk   )rm   r  ri   )i"  i     )i  i  ip  )i  i  i  r   )rl   rh   rk   r   r   i   )rj   r   r   r   r|  )r   r|  r|  r   rj   )r   rj   r   rj   r   )r   r   rj   r   rj   )rj   r   r   rj   r   r   r   r   )rj   r   ri   )rk   rj   ri   )   H   Y   )i#        )i<  i  iI  r   r   r   r  )r   rh   r   r   gd%%@)r_   rW   r   r.   r   powr"   r   	sympy.abcrO  rK   rL   r  _eval_pow_by_recursionrV   r  r$   r1  r   r   r  rA  r*   rI   r   )r   r  r   rO  s   @@@@ry   
test_powerr    s   
!:;AA Aa46D$<%89999	9j12Aa46?O_MNNNNa43q6>>a4199QC5MS $'1c6111Aq6Aq6"#WQZ/6Ar7RH:M3NNNN1qe}A55H5%r*)EEEEgaj=FQGb"X#67777q68s1v%%%R2r(#$AqvvIq>\)))AQ !AqvvI>QAq6Aq6"#QVV+v1v{6K/LLLLAq6Aq6"#S(FQFS!H3E,FFFFAq6Aq6"#Q&&1ac(QF1C*DDDDAq6Aq6"#Q&&1a41qs8A2FAqD	1R*SSSS	
Aq1q5z!|ad1a4i!Q$q&01QT6:;q!ta!a%jl;!ad;= > > > > Aq!9q!Qi!Q34a76	
Aq1Q3xz1	
AqD!	
Aq!tC <   
 	AA A))!A$/13K3KA3NNNNuAb5FUG9% %)G)G")N %	  $% % % % % 	 "3_oWfghA
;EF ;]^	9i01Ad7fiI>????
:~&
:01AA Ad7fz95	97MNOOOO	9i01Ad7fiI>????	9i01Ad7fiI>????sD!AadF####sD40A
:|$sDd3Aa46	1	~a3nQ6J5J^\]_`Ma5ade5ef~a3QQ_`acdQeMeffh i i i i q1u:Iy ABBBB
:01	9i01Ac6V_oOPPPPc6QT>>	*Y/0AsA	
AB771a=1a4'''
:457a!A#h 	()AsD40Aa4199sDd3Aa441adAqD))))qD;;q!A&&&qD;;q!a((()*Ac6T6662222a44Aq!tQT****	9i01A
:~&
:|$ 166166"234Aaff9>>A1vAaff9!&&!&&!1AaffHah3G HIIIIr{   c                     \        ^\        ,           ^\        ,
          .^\        ,
          ^\        ,           ..4      p \        R4      ;_uu_ 4        V P                  4       P	                  4       \        \        ^\        ,          4      \        ^4      ,           ^,          \        ^\        ,          4      ) \        ^4      ,           ^,          .\        ^\        ,          4      ) \        ^4      ,           ^,          \        ^\        ,          4      \        ^4      ,           ^,          ..4      8X  g   Q h RRR4       R#   + '       g   i     R# ; iri   TN)r   rP   r\   r,   r-   r;  s    ry   $test_issue_17247_expression_blowup_1r  \  s    1ac
QqS!A#J'(A	T		uuw~~61Q3x#a& !#s1Q3xi#a&&8!%;<1Q3xi#a& !#s1Q3x#a&'8!&;<+> $? ? 	? ? 
			s   C#D??E	c                  P   \        ^\        ,           ^\        ,
          .^\        ,
          ^\        ,           ..4      p \        R4      ;_uu_ 4        V P                  4       w  rW,          VP	                  4       ,          '       g   Q h RRR4       R#   + '       g   i     R# ; ir  )r   rP   r\   jordan_forminvr<  PJs      ry   $test_issue_17247_expression_blowup_2r  d  sg    1ac
QqS!A#J'(A	T		}}s1557{{{ 
			s   8BB%	c            
         \        ^\        ,           ^\        ,
          .^\        ,
          ^\        ,           ..4      p \        R4      ;_uu_ 4        V ^d,          \        R\        ^d,          ,          R,           RR\        ^d,          ,          ,
          .RR\        ^d,          ,          ,
          R\        ^d,          ,          R,           ..4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)ri   Tl                N)r   rP   r\   r;  s    ry   $test_issue_17247_expression_blowup_3r  k  s    1ac
QqS!A#J'(A	T		#v+AsF25SSUs  wU  VW  Y\  V\  w\  V\  ]+.LQPSV.SSUstuwztzUz  ~\  V\  ]!^ _ _ 	_ _ 
			s   BC  C1	c                      \        \        R 4      4      p \        R4      ;_uu_ 4        V ^
,          \        \        R4      4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)a1  [
        [             -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64,      1/4 - 5*I/16,      65/128 + 87*I/64],
        [-149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128,  85/256 - 33*I/16,  805/128 + 2415*I/512],
        [          1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64],
        [   -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128],
        [            1 + I,         -19/4 + 5*I/4,           1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16],
        [         21/8 + I,    -537/64 + 143*I/16,    -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128]]Ta  [
            [     7369525394972778926719607798014571861/604462909807314587353088 - 229284202061790301477392339912557559*I/151115727451828646838272,   -19704281515163975949388435612632058035/1208925819614629174706176 + 14319858347987648723768698170712102887*I/302231454903657293676544,      -3623281909451783042932142262164941211/604462909807314587353088 - 6039240602494288615094338643452320495*I/604462909807314587353088,    109260497799140408739847239685705357695/2417851639229258349412352 - 7427566006564572463236368211555511431*I/2417851639229258349412352, -16095803767674394244695716092817006641/2417851639229258349412352 + 10336681897356760057393429626719177583*I/1208925819614629174706176,    -42207883340488041844332828574359769743/2417851639229258349412352 - 182332262671671273188016400290188468499*I/4835703278458516698824704],
            [50566491050825573392726324995779608259/1208925819614629174706176 - 90047007594468146222002432884052362145*I/2417851639229258349412352,  74273703462900000967697427843983822011/1208925819614629174706176 + 265947522682943571171988741842776095421*I/1208925819614629174706176, -116900341394390200556829767923360888429/2417851639229258349412352 - 53153263356679268823910621474478756845*I/2417851639229258349412352, 195407378023867871243426523048612490249/1208925819614629174706176 - 1242417915995360200584837585002906728929*I/9671406556917033397649408,   -863597594389821970177319682495878193/302231454903657293676544 + 476936100741548328800725360758734300481*I/9671406556917033397649408, -3154451590535653853562472176601754835575/19342813113834066795298816 - 232909875490506237386836489998407329215*I/2417851639229258349412352],
            [   -1715444997702484578716037230949868543/302231454903657293676544 + 5009695651321306866158517287924120777*I/302231454903657293676544,     -30551582497996879620371947949342101301/604462909807314587353088 - 7632518367986526187139161303331519629*I/151115727451828646838272,           312680739924495153190604170938220575/18889465931478580854784 - 108664334509328818765959789219208459*I/75557863725914323419136,    -14693696966703036206178521686918865509/604462909807314587353088 + 72345386220900843930147151999899692401*I/1208925819614629174706176,  -8218872496728882299722894680635296519/1208925819614629174706176 - 16776782833358893712645864791807664983*I/1208925819614629174706176,      143237839169380078671242929143670635137/2417851639229258349412352 + 2883817094806115974748882735218469447*I/2417851639229258349412352],
            [   3087979417831061365023111800749855987/151115727451828646838272 + 34441942370802869368851419102423997089*I/604462909807314587353088, -148309181940158040917731426845476175667/604462909807314587353088 - 263987151804109387844966835369350904919*I/9671406556917033397649408,   50259518594816377378747711930008883165/1208925819614629174706176 - 95713974916869240305450001443767979653*I/2417851639229258349412352,  153466447023875527996457943521467271119/2417851639229258349412352 + 517285524891117105834922278517084871349*I/2417851639229258349412352,  -29184653615412989036678939366291205575/604462909807314587353088 - 27551322282526322041080173287022121083*I/1208925819614629174706176,   196404220110085511863671393922447671649/1208925819614629174706176 - 1204712019400186021982272049902206202145*I/9671406556917033397649408],
            [     -2632581805949645784625606590600098779/151115727451828646838272 - 589957435912868015140272627522612771*I/37778931862957161709568,     26727850893953715274702844733506310247/302231454903657293676544 - 10825791956782128799168209600694020481*I/302231454903657293676544,      -1036348763702366164044671908440791295/151115727451828646838272 + 3188624571414467767868303105288107375*I/151115727451828646838272,     -36814959939970644875593411585393242449/604462909807314587353088 - 18457555789119782404850043842902832647*I/302231454903657293676544,      12454491297984637815063964572803058647/604462909807314587353088 - 340489532842249733975074349495329171*I/302231454903657293676544,      -19547211751145597258386735573258916681/604462909807314587353088 + 87299583775782199663414539883938008933*I/1208925819614629174706176],
            [  -40281994229560039213253423262678393183/604462909807314587353088 - 2939986850065527327299273003299736641*I/604462909807314587353088, 331940684638052085845743020267462794181/2417851639229258349412352 - 284574901963624403933361315517248458969*I/1208925819614629174706176,      6453843623051745485064693628073010961/302231454903657293676544 + 36062454107479732681350914931391590957*I/604462909807314587353088,  -147665869053634695632880753646441962067/604462909807314587353088 - 305987938660447291246597544085345123927*I/9671406556917033397649408,  107821369195275772166593879711259469423/2417851639229258349412352 - 11645185518211204108659001435013326687*I/302231454903657293676544,     64121228424717666402009446088588091619/1208925819614629174706176 + 265557133337095047883844369272389762133*I/1208925819614629174706176]]N)r   r"   r\   r;  s    ry   $test_issue_17247_expression_blowup_4r  s  sh    8 	q K L 	MA 
T		"uq "H  I J J 	J J 
			s   #AA'	c            	         \        ^^R 4      p \        R4      ;_uu_ 4        V P                  R4      \        \        ^,          R^\
        ,          ,
          \        ^,          ,          ,           ^$\
        ,          \        ^,          ,          ,           \        RR7      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)rm   c                 D    ^RW,           ,          \         ,          ,           # ri   r   r  r   s   &&ry   r   6test_issue_17247_expression_blowup_5.<locals>.<lambda>      !rQSk!m"3r{   TrP   EXdomainN)r   r\   charpolyr   rP   r   r;  s    ry   $test_issue_17247_expression_blowup_5r    su    q!34A	T		zz#(1a42!8QT/+ABqDAI+MqY]"^^^^ 
			s   BB00C	c            	         \        ^^\        ^@4       U u. uF  p \        V ,           NK  	  up 4      p\        R4      ;_uu_ 4        VP	                  R4      ^ 8X  g   Q h RRR4       R# u up i   + '       g   i     R# ; i)r   TbareissNr   r   rP   r\   detr   r<  s     ry   $test_issue_17247_expression_blowup_6r    sb    q!5":.:aacc:./A	T		uuY1$$$ 
	 /			   A)A..A?	c                      \        ^^R 4      p \        R4      ;_uu_ 4        V P                  R4      ^ 8X  g   Q h RRR4       R#   + '       g   i     R# ; i)rm   c                 D    ^RW,           ,          \         ,          ,           # r  r  r   s   &&ry   r   6test_issue_17247_expression_blowup_7.<locals>.<lambda>  r  r{   T	berkowitzN)r   r\   r  r;  s    ry   $test_issue_17247_expression_blowup_7r    sB    q!34A	T		uu[!Q&&& 
			s   AA	c            	         \        ^^\        ^@4       U u. uF  p \        V ,           NK  	  up 4      p\        R4      ;_uu_ 4        VP	                  R4      ^ 8X  g   Q h RRR4       R# u up i   + '       g   i     R# ; i)r   TluNr  r  s     ry   $test_issue_17247_expression_blowup_8r    sa    q!5":.:aacc:./A	T		uuT{a 
	 /			r  c                  H   \        ^^\        ^@4       U u. uF  p \        V ,           NK  	  up 4      p\        R4      ;_uu_ 4        VP	                  4       \        . RO. RO. RO. RO. RO. RO. RO. RO.4      R38X  g   Q h RRR4       R# u up i   + '       g   i     R# ; i)r   TN)ri   r   r   r   r|  r   r   r  r   ri   rh   rj   rk   rl   rm   r   r   r   r   r   r   r   r   r   r   )r   r   rP   r\   rrefr  s     ry   $test_issue_17247_expression_blowup_9r    s    q!5":.:aacc:./A	T		vvxF********$, - /56 6 	6 6 
	 /			s   B;BB!	c                      \        ^^R 4      p \        R4      ;_uu_ 4        V P                  ^ ^ 4      ^ 8X  g   Q h RRR4       R#   + '       g   i     R# ; i)rm   c                 D    ^RW,           ,          \         ,          ,           # r  r  r   s   &&ry   r   7test_issue_17247_expression_blowup_10.<locals>.<lambda>  r  r{   TN)r   r\   cofactorr;  s    ry   %test_issue_17247_expression_blowup_10r    sD    q!34A	T		zz!Q1$$$ 
			s   AA	c            	          \        ^^R 4      p \        R4      ;_uu_ 4        V P                  4       \        ^^^ .^$,          4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)rm   c                 D    ^RW,           ,          \         ,          ,           # r  r  r   s   &&ry   r   7test_issue_17247_expression_blowup_11.<locals>.<lambda>  r  r{   TN)r   r\   cofactor_matrixr;  s    ry   %test_issue_17247_expression_blowup_11r    sQ    q!34A	T		  "fQA3r6&:::: 
			s   +AA)	c            	          \        ^^R 4      p \        R4      ;_uu_ 4        V P                  4       ^^^\        ,          ^^ ^/8X  g   Q h RRR4       R#   + '       g   i     R# ; i)rm   c                 D    ^RW,           ,          \         ,          ,           # r  r  r   s   &&ry   r   7test_issue_17247_expression_blowup_12.<locals>.<lambda>  r  r{   TN)r   r\   	eigenvalsr   r;  s    ry   %test_issue_17247_expression_blowup_12r    sP    q!34A	T		{{}AqsAq! 4444 
			s   )AA'	c            
         \        ^ ^\        ,
          \        ^,           ^\        ,
          .^\        ,
          \        ^,           ^ \        ^,           .^ ^\        ,
          \        ^,           ^\        ,
          .^ ^ ^\        ,
          ^ ..4      p V P                  4       pV^ ,          ^ ^\        . RO4      .38X  g   Q hV^,          ^ ,          \        \        ^4      \        ^,
          ,          ,
          ^,           8X  g   Q hV^,          ^,          ^8X  g   Q hV^,          ^,          ^ ,          P	                  RRR7      \        \        ) \        ^4      \        ^,
          ,          ,           ^,
          \        ^,
          ,          .R\        ,          \        ^,          ^\        ,          ,
          ^,           ,          \        ^,           \        \        ^4      \        ^,
          ,          ,
          ^,           ,          \        ^,          ^\        ,          ,
          ^,           ,          ,           .\        ) \        ^4      \        ^,
          ,          ,           ^,
          \        ^,
          ,          .^..4      8X  g   Q hV^,          ^ ,          \        \        ^4      \        ^,
          ,          ,           ^,           8X  g   Q hV^,          ^,          ^8X  g   Q hV^,          ^,          ^ ,          P	                  RRR7      \        \        ) \        ^4      \        ^,
          ,          ,
          ^,
          \        ^,
          ,          .R\        ,          \        ^,          ^\        ,          ,
          ^,           ,          \        ^,           \        \        ^4      \        ^,
          ,          ,           ^,           ,          \        ^,          ^\        ,          ,
          ^,           ,          ,           .\        ) \        ^4      \        ^,
          ,          ,
          ^,
          \        ^,
          ,          .^..4      8X  g   Q hR# )r   FT)deepnumerN)r   r   r   ri   r   )r   rP   
eigenvectsrB   r-   )r<  evs     ry   %test_issue_17247_expression_blowup_13r    s   Aq1ua!e$	
QA1a!e$Aq1ua!e$A1q5!$	& 	'A 
Ba5QF=123333a58q47AE?*Q....a58q==a58A;55"tAwA

"QU	+,	Aq!taczA~	!a%!d1gq1uo*=*A!BAqD1Q3JQRN!S	ST"tAwA

"QU	+,	
	A :    a58q47AE?*Q....a58q==a58A;55"tAwA

"QU	+,	Aq!taczA~	!a%!d1gq1uo*=*A!BAqD1Q3JQRN!S	ST"tAwA

"QU	+,	
	A :   r{   c                     \        ^^^\        ,           ^\        ,
          .^,          ^\        ,
          ^\        ,           .^,          ,           ^,          4      p \        R4      ;_uu_ 4        V P                  4       \        \        ^,           ^\        ,
          \        ^,           ^\        ,
          \        ^,           ^\        ,
          \        ^,           ^\        ,
          .^ ^\        ,          ^ ^\        ,          ^ ^\        ,          ^ ^\        ,          .. RO. RO. RO. RO. RO. RO.4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r   TNr  )r   rP   r\   echelon_formr;  s    ry   %test_issue_17247_expression_blowup_14r    s    q!qsAaCjlac1Q3Z\1145A	T		~~6UAE1q5!a%QAq1ua!eDacqAaCQ!A#1!DDDDDDD+F $G G 	G G 
			s   -C	EE	c                     \        ^^^\        ,           ^\        ,
          .^,          ^\        ,
          ^\        ,           .^,          ,           ^,          4      p \        R4      ;_uu_ 4        V P                  4       \        \        ^,           ^\        ,
          \        ^,           ^\        ,
          \        ^,           ^\        ,
          \        ^,           ^\        ,
          ..4      \        ^ ^\        ,          ^ ^\        ,          ^ ^\        ,          ^ ^\        ,          ..4      .8X  g   Q h RRR4       R#   + '       g   i     R# ; ir   TN)r   rP   r\   rowspacer;  s    ry   %test_issue_17247_expression_blowup_15r    s   q!qsAaCjlac1Q3Z\1145A	T		zz|QAq1ua!eQUAPQESTWXSXZ[^_Z_(`'a bdjmnpqrspsuvxyz{x{}~  AB  CD  AD  FG  IJ  KL  IL  mM  lN  eO   P  P  	P  P 
			s   -CD::E	c                     \        ^^^\        ,           ^\        ,
          .^,          ^\        ,
          ^\        ,           .^,          ,           ^,          4      p \        R4      ;_uu_ 4        V P                  4       \        \        ^,           .^\        ,
          .\        ^,           .^\        ,
          .\        ^,           .^\        ,
          .\        ^,           .^\        ,
          ..4      \        ^\        ,
          .\        ^,           .^\        ,
          .\        ^,           .^\        ,
          .\        ^,           .^\        ,
          .\        ^,           ..4      .8X  g   Q h RRR4       R#   + '       g   i     R# ; ir  )r   rP   r\   columnspacer;  s    ry   %test_issue_17247_expression_blowup_16r    s   q!qsAaCjlac1Q3Z\1145A	T		}}6AE7AE7AE7AE7APQE7TUXYTYSZ\]`a\a[bdehidicj*k#lntwx{|w|v}  @A  DE  @E  F  HI  LM  HM  GN  PQ  TU  PU  OV  XY  \]  X]  W^  `a  de  `e  _f  hi  lm  hm  gn  pq  tu  pu  ov  vw  ox  #y  y  	y  y 
			s   -C<E44F	c                  :   \        ^^\        ^@4       U u. uF  p \        V ,           NK  	  up 4      p\        R4      ;_uu_ 4        VP	                  4       \        ^.R.^.^ .^ .^ .^ .^ ..4      \        ^.R.^ .^.^ .^ .^ .^ ..4      \        ^.R.^ .^ .^.^ .^ .^ ..4      \        ^.R.^ .^ .^ .^.^ .^ ..4      \        ^.R.^ .^ .^ .^ .^.^ ..4      \        ^.R.^ .^ .^ .^ .^ .^..4      .8X  g   Q h RRR4       R# u up i   + '       g   i     R# ; i)	r   TNr   r|  r   r   r  r{  )r   r   rP   r\   	nullspacer  s     ry   %test_issue_17247_expression_blowup_17r    s^   q!5":.:aacc:./A	T		{{}QCaS!aS!aS!56QCaS!aS!aS!56QCaS!aS!aS!56QCaS!aS!aS!56QCaS!aS!aS!56QCaS!aS!aS!56!8 8 	8 8 
	 /			s   DB4D		D	c                  J   \        ^^^\        ,           ^\        ,
          .^,          ^\        ,
          ^\        ,           .^,          ,           ^,          4      p \        R4      ;_uu_ 4        V P                  4       '       d   Q h RRR4       R#   + '       g   i     R# ; i)rm   TN)r   rP   r\   is_nilpotentr;  s    ry   %test_issue_17247_expression_blowup_18r    sj    q!qsAaCjlac1Q3Z\1145A	T		>>##### 
			s   -BB"	c                      \        \        R 4      4      p \        R4      ;_uu_ 4        V P                  4       '       d   Q h RRR4       R#   + '       g   i     R# ; i)ay  [
        [             -3/4,                     0,         1/4 + I/2,                     0],
        [                0, -177/128 - 1369*I/128,                 0, -2063/256 + 541*I/128],
        [          1/2 - I,                     0,                 0,                     0],
        [                0,                     0,                 0, -177/128 - 1369*I/128]]TN)r   r"   r\   is_diagonalizabler;  s    ry   %test_issue_17247_expression_blowup_19r     sO    q a b 	cA
 
T		&&((((( 
			s   AA	c                  h   \        \        ^,           ^\        ,
          ^ ^ .^\        ,
          \        ^,           ^ \        ^,           .^ ^\        ,
          \        ^,           ^ .^ ^ ^ \        ^,           ..4      p \        R4      ;_uu_ 4        V P                  4       \        ^^^ \        ^,           \        ^,
          ,          .. RO. RO. RO.4      \        . RO^ ^\        ,          ^ ^ .^ ^ \        ^,           ^ .^ ^ ^ \        ^,           ..4      38X  g   Q h RRR4       R#   + '       g   i     R# ; i)ri   TN)ri   r   r   r   r  r  rp  )r   rP   r\   diagonalizer;  s    ry   %test_issue_17247_expression_blowup_20r  *  s	   UQU#UQUQU#	
QUQU#	
QU#	% 	&A
 
T		}}6AAA''''	+) $*
 "!"!QU"!AE"	$ %	#& 	& 		& 	& 
			s   B
D  D1	c                      \        \        R 4      4      p \        R4      ;_uu_ 4        V P                  RR7      \        \        R4      4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)  [
        [             -3/4,       45/32 - 37*I/16,                   0,                     0],
        [-149/64 + 49*I/32, -177/128 - 1369*I/128,                   0, -2063/256 + 541*I/128],
        [                0,         9/4 + 55*I/16, 2473/256 + 137*I/64,                     0],
        [                0,                     0,                   0, -177/128 - 1369*I/128]]TGEr  v  [
            [-26194832/3470993 - 31733264*I/3470993, 156352/3470993 + 10325632*I/3470993, 0, -7741283181072/3306971225785 + 2999007604624*I/3306971225785],
            [4408224/3470993 - 9675328*I/3470993, -2422272/3470993 + 1523712*I/3470993, 0, -1824666489984/3306971225785 - 1401091949952*I/3306971225785],
            [-26406945676288/22270005630769 + 10245925485056*I/22270005630769, 7453523312640/22270005630769 + 1601616519168*I/22270005630769, 633088/6416033 - 140288*I/6416033, 872209227109521408/21217636514687010905 + 6066405081802389504*I/21217636514687010905],
            [0, 0, 0, -11328/952745 + 87616*I/952745]]Nr   r"   r\   r  r;  s    ry   %test_issue_17247_expression_blowup_21r  =  g    q c d 	eA
 
T		uuDu!VA /: -; &< < 	< < 
			   ,AA0	c                      \        \        R 4      4      p \        R4      ;_uu_ 4        V P                  RR7      \        \        R4      4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r   TLUr  r  Nr  r;  s    ry   %test_issue_17247_expression_blowup_22r	  K  r  r  c                     \        \        R 4      4      p \        R4      ;_uu_ 4        V P                  RR7      P	                  4       \        \        R4      4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r   TADJr  r  N)r   r"   r\   r  r-   r;  s    ry   %test_issue_17247_expression_blowup_23r  Y  sp    q c d 	eA
 
T		uuEu"))+va 9: 7; 0< < 	< < 
			s   :A--A>	c                      \        \        R 4      4      p \        R4      ;_uu_ 4        V P                  RR7      \	        \        R4      4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r   TCHr  r  Nr#   r"   r\   r  r   r;  s    ry   %test_issue_17247_expression_blowup_24r  g  sg    Q c d 	eA
 
T		uuDu!VA /: -; &< < 	< < 
			r  c                      \        \        R 4      4      p \        R4      ;_uu_ 4        V P                  RR7      \	        \        R4      4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r   TLDLr  r  Nr  r;  s    ry   %test_issue_17247_expression_blowup_25r  u  sg    Q c d 	eA
 
T		uuEu"fQ 0: .; '< < 	< < 
			r  c                      \        \        R 4      4      p \        R4      ;_uu_ 4        V P                  4       ^8X  g   Q h RRR4       R#   + '       g   i     R# ; i)a  [
        [             -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64,      1/4 - 5*I/16,      65/128 + 87*I/64,         -9/32 - I/16,      183/256 - 97*I/128],
        [-149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128,  85/256 - 33*I/16,  805/128 + 2415*I/512, -219/128 + 115*I/256, 6301/4096 - 6609*I/1024],
        [          1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64,         1/4 - 5*I/16,        65/128 + 87*I/64],
        [   -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128,     85/256 - 33*I/16,    805/128 + 2415*I/512],
        [            1 + I,         -19/4 + 5*I/4,           1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16,            1/4 + I/2,        -129/64 - 9*I/64],
        [         21/8 + I,    -537/64 + 143*I/16,    -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128,     125/64 + 87*I/64,   -2063/256 + 541*I/128],
        [               -2,         17/4 - 13*I/2,             1 + I,         -19/4 + 5*I/4,           1/2 - I,         9/4 + 55*I/16,                 -3/4,         45/32 - 37*I/16],
        [     1/4 + 13*I/4,    -825/64 - 147*I/32,          21/8 + I,    -537/64 + 143*I/16,    -5/8 - 39*I/16,   2473/256 + 137*I/64,    -149/64 + 49*I/32,   -177/128 - 1369*I/128]]TNr   r"   r\   rankr;  s    ry   %test_issue_17247_expression_blowup_26r    sI    q z { 	|A 
T		vvx1}} 
			   AA	c            	      J   \        ^ ^\        ,
          \        ^,           ^\        ,
          .^\        ,
          \        ^,           ^ \        ^,           .^ ^\        ,
          \        ^,           ^\        ,
          .^ ^ ^\        ,
          ^ ..4      p \        R4      ;_uu_ 4        V P                  4       w  rVP	                  4       \        \        R4      4      P	                  4       8X  g   Q hV\        \        R4      4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r   Ta  [
            [    0,  4*x/(x**2 - 2*x + 1), -(-17*x**4 + 12*sqrt(2)*x**4 - 4*sqrt(2)*x**3 + 6*x**3 - 6*x - 4*sqrt(2)*x + 12*sqrt(2) + 17)/(-7*x**4 + 5*sqrt(2)*x**4 - 6*sqrt(2)*x**3 + 8*x**3 - 2*x**2 + 8*x + 6*sqrt(2)*x - 5*sqrt(2) - 7), -(12*sqrt(2)*x**4 + 17*x**4 - 6*x**3 - 4*sqrt(2)*x**3 - 4*sqrt(2)*x + 6*x - 17 + 12*sqrt(2))/(7*x**4 + 5*sqrt(2)*x**4 - 6*sqrt(2)*x**3 - 8*x**3 + 2*x**2 - 8*x + 6*sqrt(2)*x - 5*sqrt(2) + 7)],
            [x - 1, x/(x - 1) + 1/(x - 1),                       (-7*x**3 + 5*sqrt(2)*x**3 - x**2 + sqrt(2)*x**2 - sqrt(2)*x - x - 5*sqrt(2) - 7)/(-3*x**3 + 2*sqrt(2)*x**3 - 2*sqrt(2)*x**2 + 3*x**2 + 2*sqrt(2)*x + 3*x - 3 - 2*sqrt(2)),                       (7*x**3 + 5*sqrt(2)*x**3 + x**2 + sqrt(2)*x**2 - sqrt(2)*x + x - 5*sqrt(2) + 7)/(2*sqrt(2)*x**3 + 3*x**3 - 3*x**2 - 2*sqrt(2)*x**2 - 3*x + 2*sqrt(2)*x - 2*sqrt(2) + 3)],
            [    0,                     1,                                                                                            -(-3*x**2 + 2*sqrt(2)*x**2 + 2*x - 3 - 2*sqrt(2))/(-x**2 + sqrt(2)*x**2 - 2*sqrt(2)*x + 1 + sqrt(2)),                                                                                            -(2*sqrt(2)*x**2 + 3*x**2 - 2*x - 2*sqrt(2) + 3)/(x**2 + sqrt(2)*x**2 - 2*sqrt(2)*x - 1 + sqrt(2))],
            [1 - x,                     0,                                                                                                                                                                                               1,                                                                                                                                                                                             1]]a  [
            [0, 1,                       0,                       0],
            [0, 0,                       0,                       0],
            [0, 0, x - sqrt(2)*(x - 1) + 1,                       0],
            [0, 0,                       0, x + sqrt(2)*(x - 1) + 1]]N)r   rP   r\   r  r-   r"   r  s      ry   %test_issue_17247_expression_blowup_27r    s   Aq1ua!e$	
QA1a!e$Aq1ua!e$A1q5!$	& 	'A
 
T		}}xxzVA 'o %p q rx  rx  rz	z 	z z
 F1 I J K K 	K K 
			s   !A%DD"	c                      \        \        R 4      4      p \        R4      ;_uu_ 4        V P                  4       \        R4      8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r   Ta  [
            sqrt(14609315/131072 + sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) + 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2 + sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2),
            sqrt(14609315/131072 - sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) + 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2 + sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2),
            sqrt(14609315/131072 - sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2 + sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) - 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2),
            sqrt(14609315/131072 - sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2 - sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) - 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2)]N)r   r"   r\   singular_valuesr;  s    ry   %test_issue_17247_expression_blowup_28r    sc    q c d 	eA
 
T		  "a )c 'd d 	d d 
			s   !AA%	c                      \        \        R 4      4      p \        R4      ;_uu_ 4        V P                  4       ^8X  g   Q h RRR4       R#   + '       g   i     R# ; i)a	  [
        [1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I,-9/32-1/16*I,183/256-97/128*I,3/64+13/64*I,-23/32-59/256*I,15/128-3/32*I,19/256+551/1024*I],
        [21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I,-219/128+115/256*I,6301/4096-6609/1024*I,119/128+143/128*I,-10879/2048+4343/4096*I,129/256-549/512*I,42533/16384+29103/8192*I],
        [-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I,-9/32-1/16*I,183/256-97/128*I,3/64+13/64*I,-23/32-59/256*I],
        [1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I,-219/128+115/256*I,6301/4096-6609/1024*I,119/128+143/128*I,-10879/2048+4343/4096*I],
        [-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I,-9/32-1/16*I,183/256-97/128*I],
        [1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I,-219/128+115/256*I,6301/4096-6609/1024*I],
        [-4,9-5*I,-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I],
        [-2*I,119/8+29/4*I,1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I],
        [0,-6,-4,9-5*I,-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I],
        [1,-9/4+3*I,-2*I,119/8+29/4*I,1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I],
        [0,-4*I,0,-6,-4,9-5*I,-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I],
        [0,1/4+1/2*I,1,-9/4+3*I,-2*I,119/8+29/4*I,1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I]]TNr  r;  s    ry   test_issue_16823r    sI    q F G 	HA 
T		vvx1}} 
			r  c                  <   \        . RO^\        ^4      ,           R\        ^4      ,           ^\        ^4      ,
          \        ^4      ) ^,
          ^^R^^.	R^\        ^4      ,          ,           R^\        ^4      ,          ,
          R^\        ^4      ,          ,
          R^\        ^4      ,          ,           R^RR^ .	R\        ^4      ,          ^,
          ^^\        ^4      ,          ,
          R^\        ^4      ,          ,           ^^\        ^4      ,          ,           RR^R^.	^^\        ^4      ,          ,
          ^\        ^4      ,          ^,           ^\        ^4      ,          ^,           ^^\        ^4      ,          ,
          ^R	^^^ .	R^\        ^4      ,          ,           ^^\        ^4      ,          ,           R\        ^4      ,          ^,
          ^^\        ^4      ,          ,
          ^RRR^.	R^\        ^4      ,          ,           R^\        ^4      ,          ,
          R^\        ^4      ,          ,
          R^\        ^4      ,          ,           R^RR^ .	^\        ^4      ,
          \        ^4      ) ^,
          ^\        ^4      ,           R\        ^4      ,           R^^^^.	.4      p \        R4      ;_uu_ 4        V P                  4       \        ^^ ^ ^ ^ ^ ^ ^ \	        ^4      ^,          .	^ ^^ ^ ^ ^ ^ ^ \	        ^4      ) ^,          .	^ ^ ^^ ^ ^ ^ ^ \	        ^4      ^,          .	^ ^ ^ ^^ ^ ^ ^ \	        ^4      ) ^,          .	. R
O^ ^ ^ ^ ^ ^^ ^ \	        ^4      ) ^,          .	. RO^ ^ ^ ^ ^ ^ ^ ^\	        ^4      ) ^,          .	.4      R38X  g   Q h RRR4       R#   + '       g   i     R# ; i)ri   TN)	ri   ri   ri   ri   ri   r   ri   r   r   r   r   r{  r   r|  r  )	r   r   r   r   ri   r   r   r   r   )	r   r   r   r   r   r   ri   r   r   r  )r   rB   r\   r  r"   r;  s    ry   test_issue_18531r!    s   #	
T!Wb47lAQK$q'Aq!RAN	aQiaQiaQiaQiQPRTVXYZ	DGaQtAwYQtAwYAd1gIr2qRTVWX	
QtAwY$q'	Aqay1}a!DG)mQQPRTUV	aQiQtAwY47
QAd1gIq"bRTVWX	aQiaQiaQiaQiQPRTVXYZ	
T!WtAwhlAQKd1gr1aAN	
 		A 
T		vvxF1aAq!ad1f-1aAq!adU1W-1aAq!ad1f-1aAq!adU1W-*1aAq!adU1W-*1aAq!adU1W-$/ 0 2JK K 	K K 
			s   6C	N

N	c            	         \        \        R  4       \        \        R 4       \        \        R 4       \        \        4      ;_uu_ 4        ^\        R
4      ^&   RRR4       \        4       \        . 4      u;8X  d   \        ^ ^ . 4      8X  g   Q h Q h\        . .4      \        ^^ . 4      8X  g   Q h\        . . .4      \        ^^ . 4      8X  g   Q h\	        4       ;_uu_ 4        \        ^.R..4      P                  4       ^.R..8X  g   Q h RRR4       \	        4       ;_uu_ 4        \        ^.R..4      P                  P                  4       ^..R..8X  g   Q h RRR4       \        ^ ..4      p \	        4       ;_uu_ 4        \        P                  V R&   RRR4       \        \        ^ .^ ^ ..4      pTpVP                  VP                  8X  g   Q hVP                  ^8X  g   Q hVR,          \        ^ ^ ^ .8X  g   Q h\        ^^\        ^ ^ ^ .4      pTpVP                  VP                  8X  g   Q hVP                  ^8X  g   Q hVR,          \        ^ ^ ^ .8X  g   Q hW8X  g   Q h\        V4      V8X  g   Q h\        ^^\        ^^4      4      p\        ^^\        ^^
4      4      p\        WE.4      pVP                  ^8X  g   Q hVP                  ^8X  g   Q hVR,          . RO8X  g   Q h\        \        ^4      4      \        ^4      8X  g   Q h\        \        \        ^4      4      4      \        \        ^4      4      8X  g   Q h\        V4      VP                  ! 4       8X  g   Q h\        \        V4      4      \        V4      P!                  4       8X  g   Q hV\        V4      Jg   Q h\#        ^^4      \#        ^^4      ^,          .\#        ^^4      ^,          \#        ^^4      ^,          ..p\        V4      p V \        . RO. RO. RO. RO. RO.4      8X  g   Q hV P                  4       V8w  g   Q h\        VRR7      P                  4       V8X  g   Q h\%        R^^4      p\#        ^4      V.p\        V4      \        ^^.^^.VR,          VR,          .VR,          VR,          ..4      8X  g   Q h\	        4       ;_uu_ 4        \        VRR7      P                  4       V U	u. uF  q.NK  	  up	8X  g   Q h RRR4       \        \#        ^4      \#        ^ 4      .4      \        \#        ^4      .4      8X  g   Q h\        \        R 4       \        \        R	 4       \        ^^.^^..4      p \        V R.4      p
V
\        ^^.^^.^^..4      8X  g   Q hR#   + '       g   i     EL?; i  + '       g   i     EL; i  + '       g   i     ELg; i  + '       g   i     EL@; iu up	i   + '       g   i     L; i)c                  .    \        ^^\        ^4      4      # r   )r   r   r   r{   ry   r   test_creation.<locals>.<lambda>  s    vaE"I6r{   c                      \        ^R. 4      # )rl   r   r  r   r{   ry   r   r$    s    vaR0r{   c                  &    \        R4      ^,          # r~  r  r   r{   ry   r   r$    s    vf~a0r{   Nrp   Fr?  r   c                  B    \        \        ^4      \        ^ ^4      .4      # r  r   r5   r   r{   ry   r   r$  '      vtAwQ
&;<r{   c                  B    \        \        ^4      \        ^^ 4      .4      # r  r(  r   r{   ry   r   r$  (  r)  r{   rg  r  r   r   )ri   ri   rh   rh   rh   )rj   rj   rj   rk   rk   r   r   rn   )rl   rm   )r_   r  r   r   rc   r   r8  r"   EmptySetrP   rv   ru   r   r.   r   as_immutable
as_mutabler5   r   )r<  rK   r   rL   c23c13rM   datr   r   r   s              ry   test_creationr1    s2   
:67
:01
:01	
		vq 
 8vbz5VAq"%5555552$<6!Q++++2r(vaB//// 
 	!	!T{m$++-A3+>>> 
"		!	!T{m$&&--/aSED6?BBB 
"uA		!	!**$ 
" 	AA A	A66QVV66Q;;Q4Aq!Q<q!aAq\"A	A66QVV66Q;;Q4Aq!Q<6M6!9>>
AuQ{
#C
AuQ|
$CzA66Q;;66Q;;Q4....#a&>SV###?3q623s1v7NNNN1!1111/!$%);)F)F)HHHHF1I1ItAay{#d1Qik4!9Q;%?
@CsA     88:#&--/3666S!QA7A,C#;&AAtWagtWag	"    
 
 	!	!cE*113S7ISS7IIII 
" 47DG$%a	)::::
:<=
:<= 	AA A	F	B!Q!Q!Q01111W 
		 
"	!	!	!	!	! 
"	!	!h 8J 
"	!sN   V!)V$%4V8W>W%W 
(	W%V!	$V5	8W		W	 W%%W5	c                  X   \         P                  ! ^\        ^^4      \        ^^4      ^,          \        ^^4      ^,          \        ^^4      ^,          \        ^^4      ^,          \        ^^4      ^,          \        ^^4      ^,          4      \        . RO. RO. RO. RO.4      8X  g   Q hR# )rj   N)ri   rh   rh   rh   rj   rj   )rk   rh   rh   rh   rl   rl   )rm   rm   r   r   rl   rl   )r   	irregularr5   r   r{   ry   test_irregular_blockr4  0  s    AtAay$q)A+tAay{Qq	!T!AYq[$q)A+tAay{<?E	G @  r{   c                     \        ^4      p V R,          \        ^4      8X  g   Q hV R,          \        ^4      8X  g   Q h\        ^^R 4      pVR,          \        ^^R4      8X  g   Q hVR,          \        ^^R	4      8X  g   Q h\        . R
O. RO. RO. RO.4      pVR,          \        ^^. RO4      8X  g   Q hVRR1R3,          \        . RO. RO.4      8X  g   Q hR# )rk   c                     W,           # r   r   r   s   &&ry   r   test_slicing.<locals>.<lambda>>      15r{   rp   N)Nrj   Nr9  )rh   rk   Nrm  r   rp   r  ):ri   rj   Nri   r
  r2  )rk   rl   rm   r   )r   r   r   r   )r           rp   r   )rj   r   r   r>  r   )r.   rI   r   )m0r   r   s      ry   test_slicingrA  9  s    	QBf:Qh<58###	1(	)Bd8vaI....f:1f----	|^=MN	OBe9q!^4444bc1f:1A BCCCCr{   c                     \        ^4      p \        ^4      V R&   V \        R4      8X  g   Q h\        ^4      V R&   V \        ^4      8X  g   Q h\        ^^R4      V R&   V \        R4      8X  g   Q h\        ^4      V R&   V \        ^4      8X  g   Q h. R	OV R&   V \        R	4      8X  g   Q h^ ^ .V R
&   V \        R4      8X  g   Q hR# )rk   N)r:  r:  )r  r  r  r  )Nrh   NrC  r  rp   r   )r  )rh   ri   r   r   )rj   r   ri   r   )rk   r   r   ri   rs   r  r  r  r<  r=  r>     )rC  r   ))r   rh   rj   rk   )r   rm   r   r   r  rF  )rI   r.   r   r   s    ry   test_submatrix_assignmentrH  G  s    aAa&AhK & ' ' ' ' AAfIA;;Q<(AdG & ' ' ' ' AhAdGa==MAdG * + + + + 1vAeH * + + + +r{   c                     \        ^4      p V P                  ^^	4      \        ^^	R4      8X  g   Q h\        ^^R 4      pVP                  ^^4      \        R4      8X  g   Q hVP                  ^^4      \        R4      8X  g   Q hR# )rj   c                     W,           # r   r   r   s   &&ry   r   test_reshape.<locals>.<lambda>f  r8  r{   N)	ri   r   r   r   ri   r   r   r   ri   )r  r+  )rj   rk   rh   r  ))r   ri   rh   rj   ri   rh   )rj   rk   rh   rj   rk   rl   )r.   reshaper   r@  r   s     ry   test_reshaperN  c  s    	QB::ava,GHHHH	1(	)B::	1DEF F F::av&NOOOOr{   c                      \        ^4      p V P                  R 4      \        ^4      ^,          8X  g   Q hV P                  R 4      \        ^4      8X  g   Q hR# )rj   c                     ^V ,          # r  r   rx   s   &ry   r    test_applyfunc.<locals>.<lambda>n  s    !A#r{   c                     ^ # r   r   rx   s   &ry   r   rQ  o  s    !r{   N)r.   	applyfuncrI   )r@  s    ry   test_applyfuncrT  l  sE    	QB<<&#a&(222<<$a000r{   c            	         \        \        \        \        ,           ,          ^.\        \        ,           \        ,          \        ,          \        \        \        \        \        ,           ,          ,           ,          ..4      p V P                  4       pV\        \        \        ,          \        ^,          ,           ^.\        \        ^,          ,          \        \        ^,          ,          ,           \        \        ,          \        \        ^,          ,          ,           \        ^,          ,           ..4      8X  g   Q h\	        RRR7      p\        \        \        V,          4      .4      P                  RR7      \        \        V4      \        \        V4      ,          ,           .4      8X  g   Q h\        . RO. RO. RO.4      P                  4       \        ^^\        ^^4      .. R	O. R
O.4      8X  g   Q hR# )rh   rK   Tr0  )complexNr  )r   r   r   r   )r   ri   r   r   )
r   rP   rQ   r-   r$   r,   r   r)   rA   r    )r@  r   rK   s      ry   test_expandrW  r  sW   	!QU)QAE19a-A1q5	M1B!CD	EB	B
A#1*a1QT6AadF?AaC!AqD&L1a4,?@AC C C C 	sA3qs8*$$T$2A3q6!"#$ $ $ 9j)4599;v	
Ax1~G @   r{   c            	         \        \        \        4      ^,          \        \        ^,          4      .\        \        ^,          4      \        \        4      ^,          ,          \        \        ^,          4      \        \        4      ^,          ,          ..4      p V P                  \        P                  ! \        4      \        P                  ! \        4      ,          4      pV\        \        ^,          \        \        4      .\        ^,          \        \        4      ,          \        ^,          \        \        4      ,          ..4      8X  g   Q hV P                  \        P                  ! \        4      \        P                  ! \        4      ,          4      pV\        \        ^,          \        .\        \        ^,          ,          \        ^,          \        ,          ..4      8X  g   Q hV P                  \        P                  ! \        4      \        P                  ! \        4      ,          4      pV\        \        ^,          \        ) .\        ) \        ^,          ,          \        ^,          ) \        ,          ..4      8X  g   Q hR# r   )
r   r   rP   rB   rQ   refiner   r1  r  r  rM  s     ry   test_refinerZ    st   	#a&!)T!Q$Z(adCFAI%tAqDz#a&!)';<> 
?B	166!9qvvay(	)B!Q$A!Q$s1v+q!tCF{)CDEEEE	1::a=1::a=0	1B!Q$Qq!tVQT!V$456666	1::a=1::a=0	1B!Q$qbAg1uQw%789999r{   c            	         \        ^^4      p \        ^^^R7      p V \        ^^^R7      8X  g   Q h\        ^^^ ^4      p \        ^^RR7      p V \        ^^RR7      8X  g   Q hV P                  4       pVP                  ! 4        W8X  g   Q h\        P                  ! ^4      pV \        ^RVR7      8X  g   Q hR F,  pR	 F#  p\        VRWBR7      p W P
                  8X  d   K#  Q h	  K.  	  \        ^
^^FR7      p ^ p\        V P                  ^ ,          4       F@  p\        V P                  ^,          4       F  pWV3,          ^ 8X  g   K  V^,          pK  	  KB  	  V^8X  g   Q hR# )
rj   )seedT)r\  	symmetric)r]  prng)r]  percentr^  )minr_  N)r   r   )d   F      )r8   rm  r@   randomRandomr8  r   r  )r<  r"   rngr  r_  
zero_countr   r   s           ry   test_randomrh    sD   1aA1aa A
1aa((((1aC A11-A
115555	AJJL6M6
--
C
137777 $G44KA8O8 % 
 	21b)AJ1771:qwwqz"AAw!|a
 #  r{   c                  "  aa \        ^4      p V P                  4       \        ^4      8X  g   Q hV P                  RR7      \        ^4      8X  g   Q hV P                  RR7      \        ^4      8X  g   Q hV P                  RR7      \        ^4      8X  g   Q hV P                  RR7      \        ^4      8X  g   Q hV P                  RR7      \        ^4      8X  g   Q h\        . RO. RO. RO.4      p V P                  4       pW,          \        ^4      8X  g   Q hV P                  RR7      V8X  g   Q hV P                  RR7      V8X  g   Q hV P                  RR7      V8X  g   Q hV P                  RR7      V8X  g   Q hV P                  RR7      V8X  g   Q h\        . RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. R O. R!O. R"O. R#O. R$O. R%O. R&O. R'O. R(O. R)O.4      pVP                  RR7      V,          \        VP                  ^ ,          4      8X  g   Q h\        oS! . R*O. R+O. R,O.4      o\
        ;QJ d.    VV3R lR	P                  4        4       F  '       d   K   R
M#	  RM! VV3R lR	P                  4        4       4      '       g   Q h\        oS! . R*O. R+O. R,O.4      o\
        ;QJ d.    VV3R lR	P                  4        4       F  '       d   K   R
M#	  RM! VV3R lR	P                  4        4       4      '       g   Q hR# )-rk   r  r  r  r  r  QRBLOCKc              3   \   <"   T F!  p\        SP                  V4      4      SJ x  K#  	  R # 5ir   r  r  rH  r  rU  r   s   & ry   rI  test_inverse.<locals>.<genexpr>  $     L.KtAEE!H~$.K   ),zGE ADJ LU CH LDL QRFTc              3   \   <"   T F!  p\        SP                  V4      4      SJ x  K#  	  R # 5ir   rm  rn  s   & ry   rI  ro    rp  rq  N)rh   rj   rl   )rj   rm   rh   )r   rj   rm   )r   r   r   r   ri   r   r   ri   r   ri   ri   ri   r   r   r   ri   ri   r   r   r   r   ri   ri   r   r   )ri   r   ri   r   r   ri   r   r   ri   r   ri   r   ri   ri   ri   r   ri   ri   r   r   r   r   r   ri   r   )ri   ri   ri   ri   r   ri   r   r   ri   ri   r   r   r   ri   ri   ri   ri   r   r   ri   ri   r   r   ri   ri   )ri   r   r   r   r   r   ri   ri   r   r   ri   ri   ri   r   r   r   r   r   r   ri   r   r   ri   r   r   )ri   r   r   ri   ri   ri   r   ri   r   r   ri   r   r   ri   ri   ri   r   ri   r   r   r   ri   r   r   r   )ri   r   r   r   r   r   r   r   ri   ri   ri   r   ri   r   ri   ri   ri   ri   r   r   r   ri   ri   r   ri   )r   ri   ri   ri   r   r   r   r   ri   ri   ri   r   ri   r   ri   r   ri   r   ri   r   ri   r   r   ri   r   )ri   ri   r   r   r   ri   ri   r   r   ri   ri   r   ri   ri   r   ri   ri   r   ri   r   ri   ri   r   ri   ri   )r   r   ri   ri   ri   r   r   ri   ri   r   ri   ri   r   ri   r   r   r   r   r   r   ri   r   ri   r   ri   )ri   r   ri   ri   ri   r   ri   r   r   ri   ri   r   ri   ri   r   ri   ri   ri   ri   r   ri   ri   ri   r   r   )r   ri   ri   r   r   r   r   ri   ri   r   ri   r   ri   r   ri   ri   r   r   ri   r   r   r   ri   ri   r   )ri   r   r   ri   r   ri   r   ri   ri   r   r   ri   r   ri   r   ri   r   ri   r   ri   r   ri   ri   r   r   )r   ri   ri   r   r   ri   ri   r   r   ri   ri   r   ri   r   r   r   ri   r   r   ri   r   ri   ri   r   ri   )ri   ri   ri   r   ri   r   r   ri   r   r   ri   r   ri   ri   r   r   ri   ri   ri   r   ri   r   ri   ri   r   )r   ri   r   r   r   r   ri   ri   r   ri   ri   r   r   r   r   ri   r   ri   ri   ri   r   r   ri   r   r   )ri   ri   ri   ri   r   ri   ri   ri   ri   ri   ri   r   r   r   ri   r   ri   r   ri   r   r   ri   r   r   r   )r   r   r   ri   r   ri   ri   r   ri   r   r   r   r   r   ri   r   ri   ri   r   ri   r   ri   ri   r   ri   )r   ri   r   ri   r   r   r   r   ri   ri   ri   r   r   ri   ri   ri   r   r   ri   r   ri   ri   r   ri   ri   )ri   r   ri   ri   r   ri   r   ri   ri   r   ri   ri   ri   r   ri   r   r   r   r   ri   r   r   ri   r   ri   )r   r   r   ri   r   r   ri   ri   r   ri   ri   r   ri   r   ri   ri   r   r   r   r   r   r   r   r   r   )ri   r   r   r   r   ri   r   ri   r   r   ri   ri   r   ri   r   ri   ri   ri   ri   r   ri   ri   ri   ri   ri   )r   r   ri   ri   r   ri   r   r   r   ri   r   r   ri   r   r   ri   r   r   r   ri   r   ri   r   ri   ri   )r   r   r   r   r   ri   ri   ri   r   ri   ri   ri   r   r   r   ri   r   ri   ri   r   ri   ri   r   r   r   )r   r   ri   r   ri   ri   r   ri   ri   ri   r   r   ri   r   ri   r   r   ri   r   ri   r   r   r   r   r   )r   r   r   ri   ri   r   ri   ri   ri   r   r   ri   r   ri   r   ri   ri   r   ri   ri   ri   r   r   ri   r   )0   1      )r   G   ^   );      A   )r.   r  r   r  r   rP  rt  r   )r   AinvAArU  r   s      @@ry   test_inverser}    s   AA557c!f555Q'''555#a&(((555Q'''555#a&(((555Q'''	 	A 557D6SV555%%%555$&&&555%%%555$&&&555%%%	\WWWWWWWWWWWWWWWWWWWWWWWW1Y 
ZB2 666!B&#bhhqk*::::
C\ 	A 3L.C.I.I.KL333L.C.I.I.KLLLLL
C\ 	A 3L.C.I.I.KL333L.C.I.I.KLLLLLr{   c                  l   \        R 4      w  rr#p\        R4      p\        ^ ^ ^ ^ ^ RV ,          V,          RV,          V,          ,
          RV ,          RV,          ,
          ,          RV ,          V,          RV ,          RV,          ,
          ,          .^ ^ ^ ^ ^ RV ,          V,          RV,          V,          ,           RV ,          V,          RV^,          ,          ,
          ,          R.^ RV ,          V,          RV,          V,          ,
          RV ,          RV,          ,
          ,          RV ,          V,          RV ,          RV,          ,
          ,          ^ ^ ^ ^ .^ RV ,          V,          RV,          V,          ,           RV ,          V,          RV^,          ,          ,
          ,          R^ ^ ^ ^ .^ ^ ^ RV ,          V,          RV,          V,          ,
          RV ,          RV,          ,
          ,          RV ,          V,          RV ,          RV,          ,
          ,          ^ ^ .^ ^ ^ RV ,          V,          RV,          V,          ,           RV ,          V,          RV^,          ,          ,
          ,          R^ ^ .RRV ,          V,          V,          RV,          V ,          RV,          V,          ,
          ,          ^ RV ,          V,          V,          RV,          V ,          RV,          V,          ,
          ,          ^ RV ,          V,          V,          RV,          V ,          RV,          V,          ,
          ,          ^ ..4      pVP                  4       pWg,          \        ^4      ,
          P	                  \
        4      \        ^4      8X  g   Q h\        R VP                  \        4       4       4      R8  g   Q hR# )z)Tau Tau_syn_in Tau_syn_ex C_m Tau_syn_gap__h      ?       @c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rd  rH  fs   & ry   rI  :test_inverse_symbolic_float_issue_26821.<locals>.<genexpr>       /!s1vv        @@N      )
rD   r   r  r.   rS  rJ   rI   maxatomsr   )Tau
Tau_syn_in
Tau_syn_exC_mTau_syn_gapr  r<  Mis           ry   'test_inverse_symbolic_float_issue_26821r    s   4;<g4h1CZk
%.C	
1QqCGCKJs 22SWS^5KLTRUXV`M`befibijmnxjxbxMyz	
1QqDHSLZ!33c#gj6HZYZ]IZ6Z[\_`	
CGCKJs**SWS^-CDT#XjEXZ]^aZabefpbpZpEqrstuvwxyz	
DHSLZ++c#gj.@ZQR]AR.RSTWXYZ[\]^_`	
1QCCOC//#c'#k/2IJ4PS8T_K_adehahilmxixaxKyz{|}~	
1QSS_S003s7;3Fs;XY>GY3YZ[^_`abc	T#Xj $c#gck#c'*2D&DEaSQ\H\]`H`befibijmbmnqrunu  wB  oB  cB  IC  DE  FJ  KN  FN  OY  FY  Z]  F]  _b  cf  _f  gj  _j  kn  or  kr  s}  k}  _}  F~  @  	A 	A 
BD3q6M$$V,a888 /rxx//#555r{   c                  ^   \        R 4      w  rr#p\        R4      p\        . RORV^,          ,          RV,          ^ ^ ^ ^ ^ .. RO^ ^ RV^,          ,          RV,          ^ ^ ^ .. R	O^ ^ ^ ^ RV^,          ,          RV,          ^ .^V,          ^ ^V,          ^ ^V,          ^ RV ,          ..4      pWV,          P                  4       pVP                  V4      Wg,          ,
          P	                  \
        4      \        ^4      8X  g   Q h\        R VP                  \        4       4       4      R8  g   Q hR# )
z-Tau, Tau_syn_in, Tau_syn_ex, C_m, Tau_syn_gapr  c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r  r  s   & ry   rI  6test_matrix_exponential_issue_26821.<locals>.<genexpr>  r  r  r  N)r   r  r   r   r   r   r   r   r   )r   r   r   r  r   r   r   )r   r   r   r   r   ri   r   )
rD   r   r,   r+   rS  rJ   rI   r  r  r   )rK   rL   rM   rN   r   rO   r<  Mes           ry   #test_matrix_exponential_issue_26821r    s    KLMA!A;	AqD"Q$aAQ1;;Q1a4AQ1;;QaAr!Q$w1;qSQAaCA1Q31bd; 	A #BGGAJ((0E!H<<< /rxx//#555r{   c                     \        ^^\        ^,          \        ,          ^\        ^,          ,          \        \        ,          ,           .4      p \        \        .pV P                  V4      \        ^\        ,          \        ,          \        ^,          .\        ^\        ,          \        ,           ..4      8X  g   Q h\        ^^\        \        ^,          \        ^,          ,          .4      p V P                  V4      \        ^^ .^\        ,          \        ^,          ,          \        ^,          ^,          \        ^,          ,          ..4      8X  g   Q h\        ^,          \        ,          p\        \        .p\	        W!4      \        ^\        ,          ^\        ,          .^\        ,          ^ ..4      8X  g   Q h\        ^,          \        ^,          ,          p\	        W!4      \        ^\        ^,          ,          ^\        ,          \        ^,          ,          .^\        ,          \        ^,          ,          ^\        ^,          ,          \        ,          ..4      8X  g   Q h\
        \        \        ^,          ,          ,           p\        ^,          ^\        ^,          ,          ,           p\        ^ ^\        ,          .^\        ,          ^\        ,          ..4      pV\	        V\        \        \        .4      4      8X  g   Q hV\	        V\        \        \        .4      P                  4      8X  g   Q h\	        V\        \        3V.4      \        ^ ^\        ^,          ,          ^\        ,          .^\        ^,          ,          ^\        ,          ^\        ,          .^\        ,          ^\        ,          ^ ..4      8X  g   Q hR# r}   )r   rP   rQ   jacobianr0   rR   r8  )r  symsr  ganss        ry   test_jacobian_hessianr    s   q!ad1fa1fqsl+,Aq6D::dv!Aq!t}q!A#'l&CDDDDq!aAad^$A::dv1v!AqD!Q$q&A+/F&GHHHH	1QAq6D1v!QqSzAaC8&<====	1QT	A11a41QT"QqSAXqAvax$89:; ; ; 	
AadF
A	1qAvA
1!*Q3!* C'!VQF^,,,,'!VQF^--....1q!fqc"f1a41	
1a4AaC1aCAaC1. '       r{   c                     \        \        \        4      \        \        4      .\        4      \        \        4      ^,          \        \        4      ^,          ,           8X  g   Q h\        \	        \        4      \	        ^\        ,          4      .\        4      \	        ^\        ,          4      8X  g   Q h\        \	        \        4      \        .\        4      \	        \        4      \        \	        \        4      ,          ,
          8X  g   Q h\        ^\        \        ^,          .\        4      ^8X  g   Q hR\	        \        4      ,          \        \        4      ,          \        ,          ^\        \        4      ,          \	        \        4      ,          \        ^,          ,          ,           ^\	        \        4      ,          \        \        4      ,          \        ,          ,
          \	        \        4      \        \        4      ,          \        ^,          ,          ,
          \	        \        4      \        \        4      ,          \        ^,          ,          ,           p \        \	        \        4      \        \        4      \        ^,          .\        4      P                  4       V 8X  g   Q h\        \	        \        4      \        \        4      \        ^,          .\        RR7      P                  4       V 8X  g   Q h\        ^,          ) \        \        4      ^,          ,          \        ^,          \        \        4      ^,          ,          ,
          ^\        ,          \        \        4      ^,          ,          ,
          ^\        ,          \        \        4      ^,          ,          ,
          p\        \        \        4      \        \        4      \        ^,          .\        4      P                  4       V8X  g   Q h\        \        \        4      \        \        4      \        ^,          .\        RR7      P                  4       V8X  g   Q h\        . \        4      ^8X  g   Q hR# )rh   r  r  Nr  )rH   r)   rP   rA   r,   r-   )w1w2s     ry   test_wronskianr  4  s   c!fc!f%q)SVQYQ-BBBBc!fc!A#h'+s1Q3x777c!fa[!$A3q6(9999aAqD\1%***	CF3q6	!	aAhs1voad2	2Qs1vXc!f_Q5F	FAs1vad
 VCF]1a4/
0Bc!fc!fad+Q/668B>>>c!fc!fad+Q{CJJL  
Q$s1vqy1a4A	>	)AaCA	M	9AaCA	M	IBc!fc!fad+Q/668B>>>c!fc!fad+Q{CJJL  Rq   r{   c                     \        ^\        .\        ^..4      P                  \        ^/4      \        ^^.^^..4      8X  g   Q h\        \        ^.\        \        ,           ^..4      P                  \        R\        R/4      \        R^.R^..4      8X  g   Q h\         F;  p \        ^^ .^ ^..4      V P                  ^4      P                  ^^/4      8X  d   K;  Q h	  R# )ri   Nr   r   r|  )r   rP   xreplacerQ   rU  r.   rT  s    ry   test_xreplacer  E  s    Aq6Aq6"#,,aV4AA ! ! !Aq6AE1:&'00!RB@Q"a!"# # #1v1v&'3771:+>+>1v+FFFF r{   c                  &	   \        R 4      p \        R4      p\        ^\        ,          ^\        ,          ,           \        \        \        ,          ,           \        ,          .V! \        4      \        V! \        4      ,          ,           V! \        4      ,          ^^V ,          \        V \        ,          4      V ,          ,
          ,          \        ,          ..4      pVP                  4        V\        \        \        ,           \        \        ,          ,          ^\        ,           .^\        ,           ^^^\        \        V ,          4      ,          ,
          \        V ,          ,          ,          ..4      8X  g   Q h^\        ,           ^,          p\        V..4      pVP                  4        V\        V..4      8X  g   Q hVP                  \        R7       V\        VP                  \        R7      ..4      8X  g   Q h\        R 4      p \        R4      p\        ^\        ,          ^\        ,          ,           \        \        \        ,          ,           \        ,          .V! \        4      \        V! \        4      ,          ,           V! \        4      ,          ^^V ,          \        V \        ,          4      V ,          ,
          ,          \        ,          ..4      pVP                  4       \        \        \        ,           \        \        ,          ,          ^\        ,           .^\        ,           ^^^\        \        V ,          4      ,          ,
          \        V ,          ,          ,          ..4      8X  g   Q h^\        ,           ^,          p\        V..4      pVP                  4       \        V..4      8X  g   Q hVP                  \        R7      \        VP                  \        R7      ..4      8X  g   Q h\        \        \        \        4      ^,          \        \        4      ^,          ,           ..4      4      \        ^..4      8X  g   Q h\        ^^.^^..4      p^VP                  4       ,          P                  4       \        ^^"4      8X  g   Q hR# )rO  r  )ratioN)r$   r   r   rP   rQ   r)   r7   r@   r6   r   rA   tracer    )rO  r  r<  eqr   s        ry   test_simplifyr  N  s0   sAAQqS1Q3YQqSAHQ4!AaD&=!A$&QqS3q2v;q=-@(AB(FHJ 	KAJJL1q51q5/!a%I$%E1q1SAY;A.F+GIK L L L L
a%!BvAJJLvJJRJ2./01111sAAqS1Q3YQqSA@Q4!AaD&=!A$
QqS3q2v;q=%8 9B >@ 	A ::<6q51q5/!a%9E1q1SAY;A679#    
 a%!B"A::<6B4&>)))::B:6BKKbK,A+B*C#DDDDOc!fai#a&!)&;%<$=>?#aSE*+ + + 	Q!Q !AqwwyM##%!R888r{   c                     \        . RO. RO.4      p V P                  \        ^^.^^.^^.^^.^^.^^.^^.^^.^	^	.^ ^ ..
4      8X  g   Q hV P                  P                  V 8X  g   Q hV P                  V P                  4       8X  g   Q hR# )ri   N)
ri   rh   rj   rk   rl   rm   r   r   r   r   )r   r8  	transposer;  s    ry   test_transposer  v  s    ..0 	1A33&QFFFFFFFFFF	% 	& 	& 	& 	& 3355A::33!++-r{   c            
      (   \        \        R  4       \        ^\        \        \        .^ ^\        \        .^ ^ ^\        .. RO.4      p V P                  \        . RO\        ) ^^ ^ .\        ) \        ) R^ .\        ) \        ) \        R..4      8X  g   Q hR# )c                  ,    \        ^4      P                  # r   )r.   r   r   r{   ry   r   !test_conj_dirac.<locals>.<lambda>  s    3q688r{   Nr  r  r   )r_   AttributeErrorr   r   r   r;  s    ry   test_conj_diracr    s    
>+,Aq!Aq!Aq! 	A
 33&*2A*2r2*2rAr*, - - - -r{   c                  \    \        . RO. RO. RO.4      p V P                  4       ^8X  g   Q hR# )ri   Nr   )r   rl   r   )r   r   r   r   r  r;  s    ry   
test_tracer    s-    	 	A 779??r{   c                      \        ^^^ ^ .4      p V P                  R8X  g   Q h\        \        ^ ^ .^ \        ^ ..4      pVP                  R8X  g   Q hR# )ri   Nrg  r
  )r   r  rP   rQ   )r   r<  s     ry   
test_shaper    sX    q!aVA77fAq	Aq	 	A77fr{   c                  t   \        \        ^ ^ .^ \        ^ ..4      p V P                  ^R 4       V \        \        ^ ^ .^\        ^,           ^..4      8X  g   Q hV P	                  ^ R 4       V \        \        ^,           ^ ^ .^\        ,           \        ^,           ^..4      8X  g   Q hV P                  ^ 4      \        \        ^,           ^ ^ ..4      8X  g   Q hV P                  ^ 4      p^*V^ &   V R,          \        ^,           8X  g   Q hV ^ RR13,          p^*V^ &   V R,          \        ^,           8X  g   Q hV P                  ^ 4      pV\        \        ^,           ^\        ,           .4      8X  g   Q h^ V^ &   V R,          \        ^,           8X  g   Q hV R,          p^*V^ &   V R,          \        ^,           8X  g   Q hR# )r   c                      W,           ^,           # r  r   )rr   s   &&ry   r   !test_col_row_op.<locals>.<lambda>  s
    QUQYr{   c                 *    V \         V,          ,           # r   )rQ   )rM   r   s   &&ry   r   r    s    QAXr{   Nr   r   rD  )r   rP   rQ   row_opcol_opr   r   )r<  r1r&  s      ry   test_col_row_opr    s   Aq	Aq	 	AHHQ&'1AE1' ( ( ( ( HHQ%&QAq)QAq)+ , , , ,
 558vAq!}o....	
qBBqET7a!e	
1crc6BBqET7a!e	
qBQA''''BqET7a!e	
4BBqET7a!er{   c                      \        . RO. RO.4      p V P                  ^^4       V R,          ^8X  g   Q hV R,          ^8X  g   Q hV R,          ^8X  g   Q hR# )ri   Nrt   rq   r   r   rg  )r   row_multr;  s    ry   test_row_multr    sS     	AJJqOS6R<<S6Q;;S6R<<r{   c                      \        . RO. RO. RO.4      p V P                  ^^ ^4       V R,          ^8X  g   Q hV R,          ^8X  g   Q hV R,          ^8X  g   Q hR# )ri   Nrt   rq   r  r   r   r   rh   )r   row_addr;  s    ry   test_row_addr    s[     	A IIa!S6Q;;S6Q;;S6Q;;r{   c                  ,   \          F  p V P                  ^4      pVP                  ^^ R 4       W! . RO. RO. RO.4      8X  g   Q hV P                  ^4      ^,          pRVR&   VP                  ^^ R 4       V W! . R	O. R
O. RO.4      8X  d   K  Q h	  R# )rj   c                 "    V ^V,          ,           # r  r   r  us   &&ry   r   !test_zip_row_op.<locals>.<lambda>      AaCr{   c                 "    V ^V,          ,           # r  r   r  s   &&ry   r   r    r  r{   Nr   r  r   r   r   )rh   r   r   )rk   r   r   r   )mutable_classesr.   
zip_row_op)rU  r<  s     ry   test_zip_row_opr    s    GGAJ	Q/0C""$ % % 	% % GGAJqL$	Q/0!C##% & & 	& & r{   c                      \        . RO4      p \        . RO4      p\        . RO4      pV R9   d   Q hV R9   d   Q hV ^8w  g   Q hW8X  g   Q hW8w  g   Q hR# )ri   Nrt   )rh   rh   rj   r   r  r  )r   rK   rL   s      ry   test_issue_3950r    sU    yAyAyAR=S>6M66M66M6r{   c                      ! R  R4      p  ! R R4      pV ! 4       pV! 4       p\        . RO4      pWC,          ^8X  g   Q h^WC&   V^,          ^8X  g   Q h\        . RO. RO.4      pWBV3,          ^8X  g   Q hV^V3,          ^8X  g   Q hWB^3,          ^8X  g   Q h^WBV3&   VR,          ^8X  g   Q h^V^V3&   VR,          ^8X  g   Q h^WB^3&   VR,          ^8X  g   Q hR# )c                   &   a  ] tR tRt o R tRtV tR# )test_issue_3981.<locals>.Index1i  c                    ^# r  r   r>  s   &ry   	__index__)test_issue_3981.<locals>.Index1.__index__      r{   r   Nr  r  r  r  r  r  rE  rF  s   @ry   Index1r         	 	r{   r  c                   &   a  ] tR tRt o R tRtV tR# )test_issue_3981.<locals>.Index2i  c                    ^# r  r   r>  s   &ry   r  )test_issue_3981.<locals>.Index2.__index__  r  r{   r   Nr  rF  s   @ry   Index2r    r  r{   r  Nrt   rq   rg  r  )r  r  index1index2r   s        ry   test_issue_3981r    s       XFXFyA9>>AIQ4199	9%&AV^!!!QY<1QY<1AfnT7a<<AaiLT7a<<AaiLT7a<<r{   c                      \        . RO.4      p V P                  RJ g   Q h\        ^.^.^..4      p V P                  RJ g   Q h\        ^^4      p V P                  RJ g   Q hR# )ri   TFNrt   )r   is_upperrI   r  s    ry   test_is_upperr    se    	{A::aS1#A::aA::r{   c                      \        . RO.4      p V P                  RJ g   Q h\        ^.^.^..4      p V P                  RJ g   Q hR# )ri   FTNrt   )r   is_lowerr  s    ry   test_is_lowerr    sH    	{A::aS1#A::r{   c                      \        ^^. RO4      p V P                  ! 4       '       g   Q h\        ^^ .^ ^..4      p V P                  ! 4       '       d   Q h\        . 4      p V P                  ! 4       '       g   Q hR# )rk   N)r   rh   ri   rm   r   r   ri   rh   r   r   r   rj   r   r   r   r   r   r  r  s    ry   test_is_nilpotentr    sj    q!EFA>>AA A~~r
A>>r{   c                     ^^r\        W4      pVP                  ! ^4       ^\        W4      ,          pW#8X  g   Q hVP                  VP                  u;8X  d	   ^8X  g   Q h Q hVP                  VP                  u;8X  d	   ^8X  g   Q h Q hVP
                  VP
                  u;8X  d	   R8X  g   Q h Q h\        ^4      \        ^^4      8X  g   Q h\        ^4      \        ^^4      8X  g   Q h\        ^^4      \        ^^^ .^,          4      8X  g   Q h\        ^^4      \        ^^^.^,          4      8X  g   Q hVP                  ! ^ 4       V\        W4      8X  g   Q hR# )rj   N)rj   rl   )rI   fillr5   ru   rv   r  r   )rO  r   rK   rL   s       ry   test_zeros_ones_fillr  '  s)   aqaAFFAK	DJA6M666QVV q     66QVV q     77agg''''''8uQ{"""7d1aj   A;&As1u----1:1qc!e,,,,FF1Iar{   c                     \        ^ 4      p V \        4       8X  g   Q h\        ^ ^4      p V P                  ^ 8X  g   Q hV P                  ^8X  g   Q h\        ^^ 4      p V P                  ^8X  g   Q hV P                  ^ 8X  g   Q hR# r   )rI   r   ru   rv   r  s    ry   test_empty_zerosr  <  so    aA==aA66Q;;66Q;;aA66Q;;66Q;;r{   c                     \        \        ^,          \        \        ,          .\        \        \        4      ,          \        \	        \        4      ,          ..4      p V P
                  ! \        4      \        ^\        ,          \        .\        \        4      \	        \        4      ..4      8X  g   Q h\        \        \        ) \        ^,          .\        \        4      ^\        ,          \        \        ) 4      ,
          \        ^\        ,          ,           ..4      P                  \        \        4      \        \        \        ) \        .\        ^ \        ..4      8X  g   Q h\        \        \        4      ^,
          \        ,          ^\        ,          \        \        ,          ,           \        \        ,          .^\        ,          \        \        4      \        \        \        ^,           4      4      ..4      P                  \        ^ 4      \        . RO\        ^ \        ^4      ..4      8X  g   Q hV P                  ! \        4      \        \        ^^4      \        ^,          ,          \        \        ^,          ,          ^,          .\        ^,          \        \        4      ,          ^,          \        ^,          \	        \        4      ,          ^,          ..4      8X  g   Q hR# )rh   Nr	  )r   rP   rQ   rA   r)   r+   r,   r  r6   rd  r1   r    r  s    ry   test_issue_3749r  G  s   AqsaAh#a&123A66!91a3q63q6*:;<<<<	
QB1	Q1sA2wAaC(* ++05B<bS"Ar{+,- - - 
a&1*a1qsAqD*	
1c!fc#a!e*o&( )).q!	B3q6?+,- - - ;;q>V	!Q1	a1fQh'	
Ac!fQ1SVA&%( ) ) ) )r{   c                      \        ^4      p V P                  ^ ^4       R F.  pV P                  VR R7      V P                  RR7      8X  d   K.  Q h	  R# )rk   c                     V ^ 8H  # r   r   rx   s   &ry   r   %test_inv_iszerofunc.<locals>.<lambda>[  s    ar{   )r  
iszerofuncr  r  N)r  r  )r.   col_swapr  )r   r  s     ry   test_inv_iszerofuncr  W  sQ    AAJJq!uuF/?u@EEE  	    r{   c                  ^   \        R 4      w  r\        V \        V4      ,          V \        V4      ,          .4      p\        W.4      pVP	                  V4      pWBP	                  VP
                  4      8X  g   Q hWBP
                  P	                  V4      8X  g   Q hWBP
                  P	                  VP
                  4      8X  g   Q hVP
                  \        VP                  ^ ,          4      ,          V,          pVP                  \        4      pV\        ^^ .^ V ^,          ..4      8X  g   Q hR# zrho,phiN)
rD   r   r)   rA   r  r8  r.   r  rS  rG   )rhophiXYr  r  s         ry   test_jacobian_metricsr  _  s    y!HCCHc#c(l+,AzA	

1A

133q!!!!qss####	C
OAA	HAACF,----r{   c                  n   \        R 4      w  r\        V \        V4      ,          V \        V4      ,          V ^,          .4      p\        W.4      p\        \        V4      V ) \        V4      ,          .\        V4      V \        V4      ,          .^V ,          ^ ..4      pVP	                  V4      V8X  g   Q hR# r  )rD   r   r)   rA   r  )r  r  r   r  r  s        ry   test_jacobian2r  l  s    y!HCCHc#c(lCF34AzA	SC4C=!	SCCL!cEq! 	A
 ::a=Ar{   c                  ^   \        \        \        \        ,           \        ,           4      \        \        \        ,           \        ,           4      \        \        \        ,           \        ,           4      .4      p \        \        \        \        .4      p\        ^^4       F  p\        ^^4       Fx  pV RV1R3,          pVRV1R3,          pVP                  V4      pVP                  V8X  g   Q hVP                  V8X  g   Q h\        V4       F  pVRV3,          V8X  d   K  Q h	  Kz  	  K  	  R# )ri   Nrp   )	r   r,   rP   rQ   rR   r   r  ru   rv   )r   r  r   r   X_sliceY_slicer  ks           ry   test_issue_4564r	  x  s    AEAIAEAIAEAI?@A1ayA1a[q!AAhGAhG  )A66Q;;66Q;;1XAw')))   r{   c                    a a \        \        \        \        ,           \        ,           4      \        \        \        ,           \        ,           4      .\        \        \        ,           \        ,           4      \        \        \        ,           \        ,           4      ..4      o \        \        V 3R  l4       S R,          o \        \        \        .\        \        ..4      o\        \        V V3R l4       \        \        V 3R l4       R# )c                  V   < S P                  \        \        \        \        .4      4      # r   r  r   rP   rQ   rR   r   s   ry   r   (test_nonvectorJacobian.<locals>.<lambda>  s    ajjAq	):;r{   c                  &   < S P                  S4      # r   )r  r   r  s   ry   r   r    s    ajjmr{   c                  d   < S P                  \        \        \        .\        \        ..4      4      # r   r  r  s   ry   r   r    s     ajj1a&1a&0B)CDr{   Nr;  )r   r,   rP   rQ   rR   r_   ru  r  s   @@ry   test_nonvectorJacobianr    s    QUQYQUQY0QUQYQUQY02 	3A
9;<	$AAA A
9+,
9DEr{   c                      \        ^^.^^..4      p V P                  4       pVP                  ^8X  g   Q h\        ^4       F  pW,          V^,           8X  d   K  Q h	  R# r}   )r   vecrv   r   )r   m_vecr   s      ry   test_vecr    sV    AA AEEGE::??1Xx1q5    r{   c                     \        ^^.^^..4      p V P                  4       pVP                  ^8X  g   Q h\        ^4       F  pW,          V^,           8X  d   K  Q h	  V P                  RR7      pV^ ,          ^8X  g   Q h\        ^\        \        \
        ,           ,          .\
        \        ,          \        ^,          ,           ^..4      p V P                  RR7      pV^ ,          \
        \        ,          \        ^,          ,           8X  g   Q h\        ^\        \        \
        ,           ,          .\
        \        ,          ^..4      p V P                  RRR7      pV^ ,          \
        \        ,          8X  g   Q h\        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       R# )	ri   Fr  )r  check_symmetryc                  :    \        ^^..4      P                  4       # r  r   vechr   r{   ry   r   test_vech.<locals>.<lambda>      v1vh/446r{   c                  @    \        ^^.^^..4      P                  4       # r  r  r   r{   ry   r   r        v1v1v&67<<>r{   c                  :    \        ^^..4      P                  4       # r  r  r   r{   ry   r   r    r  r{   c                  @    \        ^^.^^..4      P                  4       # r  r  r   r{   ry   r   r    r  r{   N)	r   r  rv   r   rP   rQ   r_   rX   r  )r   m_vechr   s      ry   	test_vechr#    sH   AA AVVXF;;!1XyAE!!! VVUV#F!9>>Aq1uI1q!tQ01AVVUV#F!9!ad
"""Aq1uI1a)*AVVU5V9F!9!
:67
:>?
:67
:>?r{   c                     a  \        . RO4      \        . RO4      8X  g   Q h^^^..o \        \        V 3R l4       \        S RR7      \        . RO4      8X  g   Q hR# )ri   c                     < \        S 4      # r   )r*   r   s   ry   r   test_diag.<locals>.<lambda>  s	    tAwr{   F)strictNrt   )r*   r   r_   r  r   s   @ry   	test_diagr(    sK    	?fY////	
AsA
:'% F9$5555r{   c                     \        ^^.^^..4      p \        ^\        .\        ^..4      p\        ^\        ^.\        ^\        .\        \        \        ..4      p\	        WV4      pVP                  RR7      \	        V P
                  ! 4       VP
                  ! 4       VP
                  ! 4       4      8X  g   Q h\	        WV4      pVP                  RR7      \	        V P
                  ! 4       VP
                  ! 4       VP
                  ! 4       4      8X  g   Q h\	        WV4      pVP                  RR7      \	        V P
                  ! 4       VP
                  ! 4       VP
                  ! 4       4      8X  g   Q h\	        W WW 4      pVP                  RR7      \	        V P
                  ! 4       V P
                  ! 4       VP
                  ! 4       V P
                  ! 4       VP
                  ! 4       V P
                  ! 4       4      8X  g   Q hVP                  RRR7      \	        V P
                  ! RR7      V P
                  ! RR7      VP
                  ! RR7      V P
                  ! RR7      VP
                  ! RR7      V P
                  ! RR7      4      8X  g   Q hR# )ri   T)try_block_diagr  )r*  r  r  N)r   rP   rQ   rR   r*   r  )rK   rL   rM   r   s       ry   test_inv_blockr+    s   AA AAA AAq	Aq!9q!Qi01AQ1A555%aeegquuw)HHHHQ1A555%aeegquuw)HHHHQ1A555%aeegquuw)HHHHQ1A555%	!%%'1557AEEGQUUW*> > > >55U53t	UQUU%0!%%u2E	UQUU%0!%%u2E8G G G Gr{   c                 r   \        \        R 4       \        \        R 4       \        \	        ^4      4      \        ^4      8X  g   Q h\        \        ^4      4      \        ^4      8X  g   Q h\        \        R 4       \        \	        ^4      4      \        ^4      8X  g   Q h\        \        ^4      4      \        ^4      8X  g   Q h\        \        R 4       \        \	        ^4      \        ^4      4      \        ^^4      8X  g   Q h\        \        R 4       \        \        R 4       \        \        R 4       R# )	z[
Check that matrix dimensions can be specified using any reasonable type
(see issue 4614).
c                      \        ^R4      # )rj   r   rI   r   r{   ry   r   $test_creation_args.<locals>.<lambda>  s
    uQ|r{   c                      \        ^^^^4      # r  r.  r   r{   ry   r   r/    s    eAq!Q/r{   c                      \        R 4      #       @r.  r   r{   ry   r   r/    s    uRyr{   c                      \        R 4      # r2  r.   r   r{   ry   r   r/    s    s2wr{   c                      \        ^4      # r   r  r   r{   ry   r   r/    s    fQir{   c                      \        ^^4      # r  r  r   r{   ry   r   r/    s
    fQlr{   c                      \        ^^..4      # r  r  r   r{   ry   r   r/    s    vq1#h/r{   N)r_   r  ru  rI   rs  r   r.   r5   r   r{   ry   test_creation_argsr9    s    
 :+,
9/0Q=E!H$$$a(((
:()s1v;#a&   wqz?c!f$$$
:'A
#tAqz111
9'(
9*+
:/0r{   c                  <   \        ^^. RO4      p V P                  4       '       d   Q hV P                  4       '       g   Q hV P                  RR7      '       g   Q h\        ^^. RO4      p V P                  4       '       g   Q h\        ^^^4      p V P                  4       '       g   Q hV P                  4       '       g   Q h\        ^^. RO4      p V \        ^^^4      8X  g   Q h\        ^^\	        ^^4      4      p V P                  4       '       d   Q hV P                  4       '       g   Q h\        R4      p V P                  4       '       g   Q h\        R4      p V P                  4       '       g   Q h\        ^^^\
        ^,          ^\
        ,          ,           ^,           \        \
        ^,           ^,          ^^ \        ^ ^.	4      p V P                  4       '       g   Q hV P                  RR7      '       d   Q hV P                  4       P                  RR7      '       g   Q hR# )	rh   Fr  Nr$  r  )	ri   r   r   r   rh   r   r   r   rj   ))rl   r   rw  r   )rl   r   r   )r   rm   r   )r   is_diagonalr&  r*   rI   rP   rQ   r-   r   s    ry   test_diagonal_symmetricalr=    s   q!\"A}}>>>>5>))))q!\"A==???Q1A==???>>q!01AQ1q!U1a[!A~~==???'(A==???%&A==???q!aA!aQUQJ1aAFGA>>~~u~----88:""E"2222r{   c                  ,	  a \        ^^\        ,           .^\        ,
          ^..4      oSP                  4       '       g   Q h\        ^^. RO4      oSP                  4       '       d   Q hSP                  4       '       d   Q h\	        \
        V3R l4       \        ^^^4      oSP                  4       w  rV \        ^4      8X  g   Q hVS8X  g   Q h\        ^^. R	O4      oSP                  4       '       g   Q hSP                  4       '       g   Q hSP                  4       w  rV P                  4       S,          V ,          V8X  g   Q h\        ^^. R
O4      oSP                  4       '       g   Q hSP                  4       '       g   Q hSP                  4       w  rV P                  4       S,          V ,          V8X  g   Q hV \        ^4      8X  g   Q hVS8X  g   Q h\        ^^. RO4      oSP                  4       '       g   Q hSP                  4       w  rV P                  4       S,          V ,          V8X  g   Q h\        ^^. RO4      oSP                  4       '       g   Q hSP                  4       w  rV P                  4       S,          V ,          V8X  g   Q hV  F!  pVP                  4       ^,          ^8X  d   K!  Q h	  \        ^^. RO4      oSP                  4       '       g   Q hSP                  4       '       g   Q hSP                  4       w  rV P                  4       S,          V ,          V8X  g   Q hV \        ^ ^.^^ ..4      8X  g   Q h\        ^^. RO4      oSP                  R4      '       d   Q h\	        \        V3R l4       SP                  4       '       g   Q hSP                  4       w  rV P                  4       S,          V ,          V8X  g   Q h\        ^^. RO4      oSP                  4       '       d   Q h\	        \        V3R l4       \        ^^. RO4      oSP                  4       '       d   Q h\	        \        V3R l4       \        R4      w  r4rV\        ^^W5WT.4      oSP                  4       '       g   Q hSP                  4       '       g   Q hR# )ri   c                  $   < S P                  4       # r   r  r   s   ry   r   &test_diagonalization.<locals>.<lambda>	      r{   Tc                  &   < S P                  R 4      # )Tr@  r   s   ry   r   rA  /	  s    d 3r{   c                  $   < S P                  4       # r   r@  r   s   ry   r   rA  7	      r{   c                  $   < S P                  4       # r   r@  r   s   ry   r   rA  ;	  rE  r{   za b c dNr|  ri   r|     rj   r   r$  )ri   r   r   rj   r  )	ri   rh   r   r   rj   r   rh   r   rh   r  )r   ri   r   r   r   ri   r   r   )	r|  ri   r|  rH  rj   r   rh   r   rk   )r   r   r  r&  r_   rW   r*   r  r.   r  as_numer_denomr<  rV   rD   )r  r   r   rK   rL   rM   rN   r   s          @ry   test_diagonalizationrK    s   AaC1Q3(#$A    q!+,A""$$$$~~
!89 	Q1A]]_FQA;;6M6q!\"A>>    ]]_FQ557Q;?aq!\"A>>    ]]_FQ557Q;?aA;;6M6q!\"A    ]]_FQ557Q;?aq!12A    ]]_FQ557Q;?a!!$)))  	q!\"A==???    ]]_FQ557Q;?aAA'(((( 	q!]#A""4((((
;34    ]]_FQ557Q;?a 	q!\"A""$$$$
;/0q!56A""$$$$
;/0 #JA!q!aA\"A>>    r{   c                    a  \        ^ ^.^^ ..4      o S P                  ! 4       RJ g   Q h^ S R&   S P                  ! 4       RJ g   Q h\        ^ ^.^^ ..4      o S P                  ! 4        ^ S R&   \        \        V 3R l4       R# )r   TFc                  &   < S P                   ! 4       # r   r@  r  s   ry   r   "test_issue_15887.<locals>.<lambda>N	  s    r{   Nr   )r   r  r  r_   rV   r  s   @ry   test_issue_15887rO  D	  s    QFQF+,A D(((AdG E)))QFQF+,AMMOAdG
;/0r{   c            	        a \        ^^. RO4      o\        \        V3R l4       \        ^^. R	O4      o\        ^^. R
O4      p SP                  4       w  rW8X  g   Q hV SP	                  4       ^,          8X  g   Q h\        ^^. RO4      o\        ^^. RO4      p SP                  4       w  rW8X  g   Q h\        ^^. RO4      o\        ^^. RO4      p SP                  4       w  rW8X  g   Q h\        ^^. RO4      o\        ^^. RO4      p SP                  4       w  rW8X  g   Q h\        ^^. RO4      o\        ^^. RO4      p SP                  4       w  rW8X  g   Q h\        ^^. RO4      o\        ^^. RO4      p SP                  4       w  rW8X  g   Q h\        ^^. RO4      oSP                  4       '       d   Q h\        ^^. RO4      p SP                  4       w  rW8X  g   Q h\        \        R^nR7      \        R^nR7      .\        R^nR7      \        R^nR7      ..4      oSP                  4       w  rVP                  4        F.  p\        V\        4      '       g   K  VP                  ^n8X  d   K.  Q h	  R# )rj   c                  $   < S P                  4       # r   )r  r   s   ry   r   "test_jordan_form.<locals>.<lambda>T	  rB  r{   z1.0)	precisionz2.0z3.14159265358979323846264338327z4.0NrG  )	r   r  rm   r   ir   r  ir<  )	r   r   r   r   ri   r   r   r   ri   	r   ri   r   r   rk   r   r   ri   rh   )	rh   ri   r   r   rh   r   r   r   rh   )	rh   rm   ri   ri   r   ri   rh   r  )	r   ri   r   r   r   r   r   r   r   )	rk   r   rh   rl   r{  rj   rm   rk   )	r   ri   r   r   r   r   r   r   ri   )rm   rl   r   r|  r|  r   rj   rj   rh   ri   r   r|  r   ri   rl   rl   )rh   ri   r   r   r   rh   r   r   r   r   rh   ri   r   r   r   rh   )rm   rh   r  r|  rh   r   rm   rh   r   rW  r  r   r   rj   rk   )r   r   r   r   r   rh   ri   r   r   r   rh   r   r   r   r   rh   )rl   rk   rh   ri   r   ri   r   r   r   r   rj   r   ri   ri   r   rh   )ri   r   r   r   r   rh   r   r   r   r   rk   ri   r   r   r   rk   )
r   r_   rW   r  r  r  r   r4  r1  _prec)Jmustr  r  termr   s       @ry   test_jordan_formr[  Q	  sV   q!+,A
!89 	q!:;A1a56E==?DA::AMMOA&&&& 	q!23A 1a45E==?DA:: 	q!45A 1a78E==?DA:: 	q!34A1a45E==?DA::q!LMA1a  E
 ==?DA::q!LMA 1a ' (E ==?DA::q!JKA""$$$$1aIJE==?DA:: 	u,eES.IJ8CH%PUadJefh 	iA==?DA
dE""::$$$ r{   c            	         \        . RO. RO. RO. RO.4      p ^^\        ,          ,
          p^^\        ,          ,           p\        V^^ ^ .^ V^ ^ .^ ^ V^.^ ^ ^ V..4      p\        V^^ ^ .^ V^ ^ .^ ^ V^.^ ^ ^ V..4      pV P                  4       w  rVWc8X  g	   Wd8X  g   Q h\        WV,          VP	                  4       ,          4      V 8X  g   Q hR# )rh   N)rh   rk   ri   r   )r   rh   r   ri   )r   r   rh   rk   )r   r   r   rh   )r   r   r  r@   r  )r   pqJmust1Jmust2r  r  s          ry   #test_jordan_form_complex_issue_9274ra  	  s        " 	#A 	
AaCA	AaCAaAq\Aq\Aq\Aq\# $F aAq\Aq\Aq\Aq\# $F ==?DA;!+%%ACK A%%%r{   c                      \        . RO. RO. RO. RO.4      p V P                  4       w  rV\        . RO. RO. RO. R	O.4      8X  g   Q hV\        . R
O. RO. R	O. RO.4      8X  g   Q hR# )ri   Nr  r$  r  r  r%  r  rI  r  r  )r   r  r  s      ry   test_issue_10220rc  	  s     	A ==?DA$$$& ' ' ' ' $$$$	& ' ' ' 'r{   c                  $   \        . RO. RO. RO. RO.4      p V P                  4       w  rVP                  4       \        \        ) \        ) ^,          \        \        ^,          .R\        ,           ^ R\        ,
          ^ .^ \	        ^4      ) ^,          \        ^,          ,
          ^ \	        ^4      ) ^,          \        ^,          ,           .. RO.4      8X  g   Q hV\        \        ) ^^ ^ .^ \        ) ^ ^ .^ ^ \        ^.^ ^ ^ \        ..4      8X  g   Q hR# )ri   Nr  r   )r   r   r   r   )r   r   r   r   )r   r   rh   ri   r%  )r   r  r-   r   r"   )r   r  r  s      ry   test_jordan_form_issue_15858re  	  s    	 	A
 ]]_FQ88:R1"Q$Q!A#6	aQQA6!A$q1Q3Q1a!A#66	!8 9 9 9 9
 
Q1	
QB1	
Aq!	
Aq!	    r{   c                  x   \        R 4      w  rp\        V) V ,
          V^,          W,           ,          ,           W,          W,           ,          .W,          W,           ,          V) V^,          W,           ,          ,           ..4      pVP                  \        4      pV\	        \        ^,          W,          W ,          ,           ^V,          V,          ,           W,           ,          \        ,          ,           W,          V ,          W,           ,          ,           \        RR7      8X  g   Q h\        V4      \        J g   Q h\        ^^.^^ ..4      pVP                  4       VP                  \        4      u;8X  d/   \        \        ^,          \        ,
          ^,
          4      8X  g   Q h Q h\        ^^.\        ^ ..4      pVP                  \        4      pVP                  \        8w  g   Q hVP                  4       P                  VP                  \        4      \        ^,          ^\        ,          ,
          8X  g   Q hR# )z
UA K_i K_wzZZ(K_i,K_w,UA)r  N)
rD   r   r  rP   r   r  r   genas_exprr  )UAK_iK_wr   r  r]  s         ry   test_Matrix_berkowitz_charpolyrl  	  s   <(LBS#S!VSY//sw	7JKGSY/#Q	8J1JKM 	NA zz!}HQTSVcf_quSy039=a??
CI !*:	<< < < >X%%%AA A::<1::a=BHQTAX\,BBBBBBAA A	

1A55A::99;AEE1%A!333r{   c            
         \        R 4      p \        P                  ! ^V 4      pVP                  4       \        \	        V 4      ..4      8X  g   Q h\        P                  ! ^V 4      pVP                  4       \        \	        V 4      \	        V 4      \	        V 4      ^,          .^ \	        V 4      \	        V 4      .^ ^ \	        V 4      ..4      8X  g   Q hR# )lamdaN)r$   r   r  _eval_matrix_exp_jblockr,   r   r   s     ry   test_exp_jordan_blockrq  	  s    wAAq!A$$&&3q6(*<<<<Aq!A$$&VSVSVAX&AA3q6N 	  r{   c            	      
   \        ^^.^ R..4      p \        \        ^4      R\        R4      ,          ^,          ^\        ^4      ,          ^,          ,           .^ \        R4      ..4      pV P                  4       V8X  g   Q h\        V 4      V8X  g   Q h\        ^^ .^ ^..4      p V P                  4       \        \        ^ .^ \        ..4      8X  g   Q h\        V 4      \        \        ^ .^ \        ..4      8X  g   Q h\        ^R.^^..4      p V P                  4       \        \        \        ^4      ,          \        ) \	        ^4      ,          .\        \	        ^4      ,          \        \        ^4      ,          ..4      8X  g   Q hR# )rj   Nr   r   r   )r   r,   r   r)   rA   )r   m_exps     ry   test_exprt  	  s<   AB !ASVRBZ\Ac!fHQJ67!SWFGE557eq6U??AA A557fq!fq!f-....q6VaVaV,----B!Q !A557fqQx!CF3aAh#a&5IJKKKKr{   c                  x  a \        R 4      p \        P                  ! ^V 4      oSP                  4       \        \	        V 4      ..4      8X  g   Q h\        P                  ! ^V 4      oSP                  4       \        \	        V 4      ^V ,          R^V ^,          ,          ,          ^^V ^,          ,          ,          .^ \	        V 4      ^V ,          R^V ^,          ,          ,          .^ ^ \	        V 4      ^V ,          .^ ^ ^ \	        V 4      ..4      8X  g   Q h\        . RO. RO. RO.4      o\        \        V3R l4       R# )rn  c                  $   < S P                  4       # r   )r2   r   s   ry   r   test_log.<locals>.<lambda>
  s    r{   Nr   r   r   r  )r$   r   r  _eval_matrix_log_jblockr2   r_   rV   rp  s    @ry   test_logry  
  s   wAAq!A$$&&3q6(*<<<<Aq!A$$&Q1b!AqD&k1a1f:6CFAaCQq!tV-As1vqs#Aq#a&!		

 
 
 				A
 ;(r{   c            	          \        R 4      p \        ^^V \        V 4      ^,          \        V 4      ^,          ,           \        P
                  .4      p\        V4      w  r#rEV\        P
                  8X  g   Q hR# )rP   N)r$   r   r)   rA   r"   r   rU   rP   columnpivot_offset	pivot_valpivot_assumed_nonzero
simplifieds         ry   :test_find_reasonable_pivot_naive_finds_guaranteed_nonzero1r  !
  s_     	sAAq1c!fai#a&!)3QVV<=F$V, ?L2r{   c            
      .   \        R 4      p \        ^^V \        V 4      ^,          \        V 4      ^,          ,           V ^,          ,           \        V 4      ^,          \        V 4      ^,          ,           .4      p\	        V\
        R7      w  r#rEV^8X  g   Q hR# rP   )simpfuncN)r$   r   r)   rA   rU   r[   r{  s         ry   :test_find_reasonable_pivot_naive_finds_guaranteed_nonzero2r  .
  s~     	sAAqVQYs1vqy(A-VQYs1vqy(*+F
 	%Vi@ ?L2>>r{   c            
         \        R 4      p \        ^^V \        V 4      ^,          \        V 4      ^,          ,           V ,           \        V 4      ^,          \        V 4      ^,          ,           .4      p\	        V\
        R7      w  r#rE\        V4      ^8X  g   Q hV^ ,          ^ ,          ^8X  g   Q hV^ ,          ^,          ^V ,           8X  g   Q hV^,          ^ ,          ^8X  g   Q hV^,          ^,          ^8X  g   Q hR# r  )r$   r   r)   rA   rU   r[   lenr{  s         ry   +test_find_reasonable_pivot_naive_simplifiesr  >
  s     	sAAqVQYs1vqy(*VQYs1vqy(*+F
 	%Vi@ ?L2 z?aa=q   a=qs"""a=q   a=q   r{   c                  X  a a \        \        R  4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \
        R 4       \        \        R 4       \        \        R	 4       \        \        R
 4       \        \        R 4       \        \
        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \
        R 4       \        \        R 4       \        \        R 4       \        \
        R 4       \        \        R 4       \        \
        R 4       \        \        R 4       \        \
        R 4       \        \
        R 4       \        \
        R 4       \        \        R  4       \        \        R! 4       \        \        R" 4       \        \        R# 4       \        \        R$ 4       \        \        R% 4       \        \        R& 4       \        \        R' 4       \        R,4      o \        \        V 3R( l4       \        . R-O.4      o\        . R.O. R/O. R0O.4      o \        \        V V3R) l4       \        . R.O. R/O. R0O.4      o \        \        V V3R* l4       R+# )1c                  "    \        ^^.^..4      # r  r  r   r{   ry   r   test_errors.<locals>.<lambda>R
  s    v1vsm4r{   c                  ,    \        ^^..4      R,          # )ri   )g333333?rl   r  r   r{   ry   r   r  S
      v1vh/7r{   c                  ,    \        ^^..4      R,          # )ri   )ri   g@r  r   r{   ry   r   r  T
  r  r{   c                      \        ^^RR7      # )rj   T)rM   r]  )r8   r   r{   ry   r   r  U
  s    z!qDAr{   c                  <    \        ^^.4      P                  ^^4      # r  )r   rL  r   r{   ry   r   r  V
  s    vq!f~55a;r{   c                  ^    \        ^^.^^..4      P                  ^^ .\        ^^.4      4      # r  )r   copyin_matrixr   r{   ry   r   r  X
  s/    AA'(661vvq!f~Nr{   c                  X    \        ^^.^^..4      P                  ^ ^.\        4       4      # r  )r   copyin_listr3  r   r{   ry   r   r  Y
  s1    fq!fq!f%56BBADur{   c                  @    \        . RO. RO.4      P                  4       # )ri   rt   )rh   rj   r   r   r  r   r{   ry   r   r  [
  s    I0F)G)K)K)Mr{   c                  \    \        ^^^^.4      P                  \        ^^.^^..4      4      # r  )r   r   r   r{   ry   r   r  ]
  s.    q!aV$--fq!fq!f5E.FGr{   c                  X    \        ^^.4      P                  \        ^^.^^..4      4      # r  )r   r   r   r{   ry   r   r  _
  s)    FAq6N33FQFQF;K4LMr{   c                  X    \        ^.4      P                  ^\        ^^.^^..4      4      # r  )r   r   r   r{   ry   r   r  `
  6    vqc{55a!B1vA :  r{   c                  X    \        ^.4      P                  ^\        ^^.^^..4      4      # r  )r   r   r   r{   ry   r   r  b
  r  r{   c                  8    \        ^^.4      P                  4       # r  r  r   r{   ry   r   r  d
  s    A)=)=)?r{   c                  8    \        ^.4      P                  ^4      # r  )r   rS  r   r{   ry   r   r  e
  s    faSk33A6r{   c                  D    \        ^^.^^..4      P                  ^^4      # r  )r   minorr   r{   ry   r   r  f
  s#    v1v1v&67==aCr{   c                  D    \        ^^.^^..4      P                  ^^4      # r  )r   minor_submatrixr   r{   ry   r   r  g
  s#    v1v1v&67GG1Mr{   c                  :    \        . RO4      P                  ^4      # ri   rt   r   crossr   r{   ry   r   r  h
  s    fY/55a8r{   c                  :    \        . RO4      P                  ^4      # r  r   dotr   r{   ry   r   r  i
  s    fY/33A6r{   c                  P    \        . RO4      P                  \        ^^.4      4      # r  r  r   r{   ry   r   r  j
  s    vi044VQF^Dr{   c                  :    \        ^^.4      P                  . 4      # r  r  r   r{   ry   r   r  k
  s    vq!f~11"5r{   c                  :    \        ^^.4      P                  R4      # )ri   rK   r  r   r{   ry   r   r  l
  s    faVn005r{   c                  >    \        ^^.4      P                  . RO4      # r  r  r   r{   ry   r   r  m
  s    vq!f~11)<r{   c                  8    \        . RO4      P                  4       # r  )r   r,   r   r{   ry   r   r  n
  s    	):)>)>)@r{   c                  @    \        ^^.^^..4      P                  4       # r  )r   
normalizedr   r{   ry   r   r  o
      v1v1v&67BBDr{   c                  <    \        ^^.4      P                  RR7      # )ri   znot a methodr  r  r   r{   ry   r   r  p
  s    vq!f~111Hr{   c                  8    \        ^^.4      P                  4       # r  r   
inverse_GEr   r{   ry   r   r  q
      A)B)B)Dr{   c                  @    \        ^^.^^..4      P                  4       # r  r  r   r{   ry   r   r  r
  r  r{   c                  8    \        ^^.4      P                  4       # r  r   inverse_ADJr   r{   ry   r   r  s
  s    A)C)C)Er{   c                  @    \        ^^.^^..4      P                  4       # r  r  r   r{   ry   r   r  t
  s    v1v1v&67CCEr{   c                  8    \        ^^.4      P                  4       # r  )r   
inverse_LUr   r{   ry   r   r  u
  r  r{   c                  8    \        ^^.4      P                  4       # r  r  r   r{   ry   r   r  v
  s    A)D)D)Fr{   c                  8    \        ^^.4      P                  4       # r  r   r  r   r{   ry   r   r  w
  s    A););)=r{   c                  D    \        ^^.^^..4      P                  RR7      # )ri   zNot a real methodr  r  r   r{   ry   r   r  y
  s%    AA'(,,4G,Hr{   c                  P    \        . RO. RO. RO. RO.4      P                  RR7      # )ri   zNot functionr  r  r  r  rF  r  r   r{   ry   r   r  {
  s*    l)+ ,,/C>C,JKr{   c                  P    \        . RO. RO. RO. RO.4      P                  RR7      # )ri   Fr  r  r  r  rF  r  r   r{   ry   r   r  ~
  s*    l)+ ,,/C5C,ABr{   c                  V    \        \        ^^.^^..4      \        ^^.^^..4      4      # r  r0   r   r   r{   ry   r   r  
  s/    AA/0&1a&1a&9I2JKr{   c                  8    \        \        ^^.^^..4      . 4      # r  r  r   r{   ry   r   r  
  s    wv1v1v.>'?Dr{   c                  :    \        \        R 4      ^,          R4      # )rP   rK   )r0   r$   r   r{   ry   r   r  
  s    wvc{A~s;r{   c                  &    \        ^4      R,          # )rj   )rl   rh   r5  r   r{   ry   r   r  
      s1vd|r{   c                  &    \        ^4      R,          # )rj   )rh   rl   r5  r   r{   ry   r   r  
  r  r{   c                  &   < S P                  R 4      # )zmethod=LU_decomposition())r  r;  s   ry   r   r  
  s    quu%@Ar{   c                  (   < S P                  R S4      # )g@)r   r<  Vs   ry   r   r  
  s    q||C3r{   c                  (   < S P                  RS4      # )g@g)r   r  s   ry   r   r  
  s    q||D!4r{   NrE  )r   r   r   rt   rh   rj   rk   r  )r_   r  r   rX   ru  rW   r   r  s   @@ry   test_errorsr  Q
  sI   
:45
:78
:78
:AB
:;<
:NP
9  
!MN
:GI
MO
:  
:  
!?@
967
:CD
:MN
989
967
:DE
:56
956
:<=
!@A
:DE
:HI
!DE
:DE
!EF
:EF
!DE
!FG
!=>
:HJ
:	KL :	BC :KM
:DE
:;<
:+,
:+,NOA
:AB~A	9i01A
:34	9i01A
:45r{   c                  
   \        \        4       4      ^ 8X  g   Q h\        \        ^^..4      4      \        \        ^.^..4      4      u;8X  d	   ^8X  g   Q h Q h\        \        ^ ^R 4      4      \        \        ^^ R 4      4      u;8X  d	   ^ 8X  g   Q h Q h\        \        . RO. RO.4      4      ^8X  g   Q h\        ^.4      \        ^..4      8X  g   Q h\        4       '       d   Q h\        4       \        . 4      8X  g   Q hR# )r   c                     ^ # r   r   r   s   &&ry   r   test_len.<locals>.<lambda>
  s    r{   c                     ^ # r   r   r   s   &&ry   r   r  
  s    ar{   Nr  r  )r  r   r   r{   ry   test_lenr  
  s    vx=Av1vh CaSz(:$;@q@@@@@vaN+,F1a()/-./ / / / /vy),-.!3331#;&1#-'''xx<8vbz!!!r{   c            
         \        ^^\        3\        ^^3^
^\        ^,          334      p V P                  \        4      \        \        ^\        ,          \        ^,          ^,          3\        \        ,          ^\        ,          ^\        ,          3^
\        ,          ^\        ,          \        ^,          ^,          334      8X  g   Q hV P                  \        4      \        \        ^\        ,          \        \        ,          3\        ^,          ^,          ^\        ,          ^\        ,          3^
\        ,          ^\        ,          \        \        ^,          ,          334      8X  g   Q h\        ^^\        \        .4      pVP                  \        4      \        ^^\        ^,          ^,          \        \        ,          .4      8X  g   Q hR# r}   )r   rP   rQ   r1   )r   r   s     ry   test_integrater  
  s:   Aq	Aq!9r1adm45A;;q>AaCAa 1Q3!QqS/BqD!A#q!tAv3FGHI I I;;q>AaC11Q!QqS1BqD!A#qAv3FGHI I Iq!aVA;;q>VAq1a461Q3-8888r{   c            	         \        ^^\        3\        ^^3^
^\        ^,          ^,           334      p \        V P	                  \        4      \        V 4      4      '       g   Q hV P	                  \        4      \        RR^ ^ ^\        ,          334      8X  g   Q hV P	                  \        4      \        R4      8X  g   Q h\	        V \        4      \        RR^ ^ ^\        ,          334      8X  g   Q h\	        V \        4      \        R4      8X  g   Q hV P                  4       p\        VP	                  \        4      \        V4      4      '       g   Q hVP	                  \        4      \        RR^ ^ ^\        ,          334      8X  g   Q hVP	                  \        4      \        R4      8X  g   Q h\	        V\        4      \        RR^ ^ ^\        ,          334      8X  g   Q h\	        V\        4      \        R4      8X  g   Q hV P	                  \        RR7      \        V \        RR7      8X  g   Q h\	        V \        RR7      \        V \        RR7      8X  g   Q hR# )ri   Fr?  Nr   r   )r   r   r   )	r   rP   rQ   r1  r+   r  r,  r   r]   )r   A_imms     ry   	test_diffr  
  s   Q1I1ay2q!Q$(2CDEAaffQia))))66!9*Iy1a1++NOOOO66!9*+LMMMM1:+Y	Aq!A#;,OPPPP1:+,MNNNNNNEejjmT%[1111::a=0)YAqQRs1TUUUU::a=01RSSSSq>19i!QPQRSPS2UVVVVq>12STTTT66!e6$1u(MMMM1u%A)NNNNr{   c                  p   \        \        \        .\        \        ..4      p V P                  V 4      \        ^^ .^ ^ ..^ ^.^ ^ ...^ ^ .^^ ..^ ^ .^ ^....4      8X  g   Q h\        W 4      \        ^^ .^ ^ ..^ ^.^ ^ ...^ ^ .^^ ..^ ^ .^ ^....4      8X  g   Q hV P                  4       pVP                  V4      \        ^^ .^ ^ ..^ ^.^ ^ ...^ ^ .^^ ..^ ^ .^ ^....4      8X  g   Q h\        W4      \        ^^ .^ ^ ..^ ^.^ ^ ...^ ^ .^^ ..^ ^ .^ ^....4      8X  g   Q hV P                  \        4      \        ^ ^ .^ ^ ..4      8X  g   Q h\        \        \        .4      pV P                  V4      \        P                  ! ^^^^4      8X  g   Q hV P                  V 4      \        ^^ .^ ^ ..^ ^.^ ^ ...^ ^ .^^ ..^ ^ .^ ^....4      8X  g   Q hVP                  \        \        ..4      pVP                  R8X  g   Q hV\        ^.^ ..^ .^...4      8X  g   Q h\        R4      pV! \        \        \        4      pVP                  \        \        \        ..4      \        VP                  \        4      VP                  \        4      VP                  \        4      .4      8X  g   Q hVP                  \        \        \        .^34      \        VP                  \        ^4      VP                  \        \        4      VP                  \        \        4      .VP                  \        \        4      VP                  \        ^4      VP                  \        \        4      .VP                  \        \        4      VP                  \        \        4      VP                  \        ^4      ..4      8X  g   Q h\        \        4      \        \        4      ,          pVP                  \        \        ..4      \        \!        \        4      \        \        4      ,          \        \        4      \        \        4      ,          .4      8X  g   Q hVP                  \        \        \        334      \        \!        \        4      \        \        4      ,          \        \        4      \        \        4      ,          .4      8X  g   Q hVP                  \        \        \        334      \        \        \        4      ) \        \        4      ,          \!        \        4      \        \        4      ,          .4      8X  g   Q hVP                  \        \        33\        \        ..4      \        \!        \        4      \        \        4      ,          \        \        4      ) \        \        4      ,          .\        \        4      \        \        4      ,          \!        \        4      \        \        4      ,          ..4      8X  g   Q hVP                  \        4      P                  \        4      P                  \        4      VP                  \        \        \        33^4      R,          8X  g   Q hVP                  \        4      P                  \        4      P                  \        4      VP                  \        \        \        33^4      R,          8X  g   Q hVP                  \        \        \        ..\        \        \        334      \        \        \        \        3 UUu. uFA  p\        \        \        3 Uu. uF"  qP                  V4      P                  V4      NK$  	  upNKC  	  upp4      8X  g   Q h\        P
                  ! \#        \        \        ..4      4      p	\%        V	\        4      '       g   Q hV	\#        ^^ ..4      8X  g   Q h\        ^,          P                  \#        \        \        ..4      4      p	\%        V	\        4      '       g   Q hV	\#        ^\        ^,          ,          ^ ..4      8X  g   Q hR# u upi u uppi )ri   r  N)rh   rh   ri   r   r  )r   rP   rQ   rR   rO   r+   r   r,  rK   r   rL   rI   r  r   rA   r,   r)   r   r1  )
r   r  r   dBr  fxyzexprr   r   ress
             ry   test_diff_by_matrixr  
  s    	QFQF+,A66!9!Q!Q 0Aq6Aq62BC1vPQSTvFVZ[]^Y_bcefagXhEijkkkk:1a&1a&!1QFQF3C DAQRTUPVGW[\^_Z`cdfgbhYiFjkllllNNE::e!Q!Q(8Aq6Aq6:J'KPQSTvXY[\W]N^bcefagjkmnio`pMq&r ssss1a&1a&)9QFQF;K(LQRTUPVYZ\]X^O_cdfgbhklnojpaqNr's!tttt 66!9*QFQF+;<<<<aV$A66!9Aq!Q////66!9!Q!Q 0Aq6Aq62BC1vPQSTvFVZ[]^Y_bcefagXhEijkkkk 
!Q	B88y   !qc
aS1#J/0000AQ1:D99q!Qi[!UDIIaL$))A,		RS+U%VVVV99q!Qi^$	1a$))Aq/499Q?;	1a$))Aq/499Q?;	1a$))Aq/499Q?;/ )    q6#a&=D99q!fX%QAAs1v(F"GGGG99Q!Q	"eSVCF]CF3q6M,J&KKKK99Q!Q	"ec!fWSV^SVCF],K&LLLL99q!fY!Q)USVCF]SVGCPQFN4SVYZ[V\]`ab]cVcehijeklopqlrerUs3t-uuuu 99Q<Q$$Q'499q!Qi\1+Eg+NNNN99Q<Q$$Q'499q!Qi\1+Eg+NNNN99q!Qi[Aq!9,/5noqrtumv9wmvhiZ[]^`aYb:cYbTU99Q<;L;LQ;OYb:cmv9w3xxxx &&!Q!
"Cc/0000&1a&""""a4++fq!fX&
'Cc/0000&1QT61+'''' ;d9ws   `2((`-`2-`2c            	         a  \        ^^\        3\        ^^3^
^\        ^,          ^,           334      o \        \        V 3R l4       \        S R4      ! \        4      \        RR^ ^ ^\        ,          334      8X  g   Q hR# )ri   c                     < S P                   # r   )nonexistantattributer  s   ry   r   test_getattr.<locals>.<lambda>
  s    1#9#9r{   r+   Nr   r   )r   rP   rQ   r_   r  getattrr  s   @ry   test_getattrr  
  sj    Aq	Aq!9r1adQh&789A
>9:1fa FIy1a1++N$OOOOr{   c                  T   \        . RO. RO. RO.4      p V P                  '       g   Q hV P                  p V P                  '       g   Q h^V R&   V P                  RJ g   Q h\        . RO. RO. RO.4      p V P                  '       d   Q h\	        ^^4      p V P                  '       g   Q hR# )rj   FNr)  r*  r  )r   r   r+  )r   r,  r8  r-  rI   r  s    ry   test_hessenbergr  
  s    	9i01A     	A     AeH  E)))	9i01A$$$$$aA     r{   c            	      r   \        \        R  4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        ^\        ,           ^ 3R34      P                  RR7      \        \        ^\        ,           4      ^ .^ ^..4      8X  g   Q h\        R4      p V P                  RR7      pV\        ^^ .^^\        ^4      ,          \        ,          ..4      8X  g   Q hWP                  ,          V 8X  g   Q h\        R4      p V P                  4       pWP                  ,          V 8X  g   Q hVP                  '       g   Q hV\        . RO. RO. RO.4      8X  g   Q h\        ^R\        ,          ^^\        ,          ,           3^\        ,          ^R\        ,           3^^\        ,          ,
          R\        ,
          ^334      p V P                  4       P                  4       \        R\        ^^ 3^\        ,
          ^ ^334      8X  g   Q h\        \        R 4       \        \        R 4       \        \        R	 4       \        \        R
 4       \        \        R 4       \        ^\        ,           ^ 3R34      P                  RR7      \        \        ^\        ,           4      ^ .^ ^..4      8X  g   Q h\        R4      p V P                  RR7      pV\        ^^ .^^\        ^4      ,          \        ,          ..4      8X  g   Q hWP                  ,          V 8X  g   Q h\        R4      p V P                  4       pWP                  ,          V 8X  g   Q hVP                  '       g   Q hV\        . RO. RO. RO.4      8X  g   Q h\        ^R\        ,          ^^\        ,          ,           3^\        ,          ^R\        ,           3^^\        ,          ,
          R\        ,
          ^334      p V P                  4       \        R\        ^^ 3^\        ,
          ^ ^334      8X  g   Q hR# )c                  4    \        R4      P                  4       # r~  r   choleskyr   r{   ry   r   test_cholesky.<locals>.<lambda>  s    )@)@)Br{   c                  4    \        R4      P                  4       # ri   rg  )rj   rk   r  r   r{   ry   r   r        v&67@@Br{   c                  R    \        ^\        ,           ^ 3R34      P                  4       # rl   r   )r   r   r  r   r{   ry   r   r    s    vAqz6&:;DDFr{   c                  4    \        R4      P                  4       # ri   r  )rl   ri   r  r   r{   ry   r   r  	  r  r{   c                  8    \        R4      P                  RR7      # ri   F	hermitianr  r  r   r{   ry   r   r  
  s    v&67@@5@Qr{   Fr  c                  4    \        R4      P                  4       # r~  r#   r  r   r{   ry   r   r    s    f)=)F)F)Hr{   c                  4    \        R4      P                  4       # r  r  r   r{   ry   r   r        |,<=FFHr{   c                  R    \        ^\        ,           ^ 3R34      P                  4       # r  )r#   r   r  r   r{   ry   r   r    s    |a!eQZ,@AJJLr{   c                  4    \        R4      P                  4       # r  r  r   r{   ry   r   r    r  r{   c                  8    \        R4      P                  RR7      # r  r  r   r{   ry   r   r    s    |,<=FFQVFWr{   Nr   r  ))   r>  r   )r>     r   )r   r   r   r;  )rj   rj   r   r   )r   ri   rj   r   r  )r_   rW   r  r   r   r  rB   r8  r  r-   r#   r  s     ry   test_choleskyr    sg   
!BC
:BC
:FG
:BC
:QRAE1:v&'0050AV	a!ea1a&M" F# # # # A	

U
#AAAd1gIaK 012222SS5A::78A	

Ass7a<<::::	9j9::::BqD!ac'"QqS!R!V$4q1Q3wQ6KLMA::< FI1ay1q5!Q-+P$QQQQ
!HI
:HI
:LM
:HI
:WX!a%V,-666G6	a!ea1a&S" L# # # #%&A	

U
#AAAd1gIaK 012222SS5A::=>A	

Ass7a<<::::	9j9::::q"Q$AaC(1Q326*:Q1Wb1fb<QRSA::<69q!Qi!a%A"GHHHHr{   c            	      z   \        R RR7      p \        \        V 4      \        V 4      .4      p\	        VP                  ^4      4      ^8X  g   Q hVP                  ^
4      \        \        V 4      ^
,          \        V 4      ^
,          ,           \        ^^
4      4      8X  g   Q h\        ^\        ^^4      ..4      pVP                  4       \        ^\        ^	^4      ,           \        P                  4      8X  g   Q hVP                  \        4      \        V4      8X  g   Q hVP                  \        ) 4      \        V4      8X  g   Q h\        ^^.^^..4      pVP                  ^4      ^8X  g   Q hVP                  R
4      ^ 8X  g   Q hVP                  R4      ^8X  g   Q h\        ^
4      P                  ^4      \        ^
4      P                  R
4      u;8X  d	   ^8X  g   Q h Q hVP                  \        4      ^8X  g   Q h\        ^\        \        .V \        P                  \        ) ..4      pVP                  R4      \!        \        ^%^4      ^\#        \        4      ^,          ,          ,           \        ^,          ,           V ^,          ,           4      8X  g   Q h\        . RO^^\        ^^4      ..4      pVP                  ^4      \!        \        R^4      \!        R4      ^,          ,           4      8X  g   Q hVP                  R
4      \        P$                  J g   Q hVP                  R4      \!        R4      ^,          8X  g   Q h\        ^^.^^..4      p\        ^^.R
^..4      p\        ^ \&        ) .\&        ^ ..4      p\        ^^ .^ R..4      pW#WE.p\        RRR7      pR F  p\)        ^4      P                  V4      \        P$                  J g   Q hV FX  p	V FO  p
V	P                  V4      V
P                  V4      ,           W,           P                  V4      ,
          pV^ 8  d   KO  Q h	  KZ  	  W#WE3 FR  p\+        W|,          P                  V4      \#        V4      VP                  V4      ,          ,
          4      pV^ 8X  d   KR  Q h	  K  	  \        ^^^\&        ,          ,
          R.4      p\        \        P                  ^\&        ,          ^.4      p\        . RO4      p\        ^^\&        .4      p\        \-        R4      \        ^R4      ^.4      pWVVV.p\        RRR7      p^^RR
\        P.                  \        P0                  \        3 EF<  pV^ 8  d1   \        . RO4      P                  V4      \        P$                  J g   Q hV^8  dx   V Fq  p	V Fh  p
V	P                  V4      V
P                  V4      ,           W,           P                  V4      ,
          p\+        V^ 8  4      \        P2                  J d   Kh  Q h	  Ks  	  V^^RR
\        P.                  \        P0                  39   g   K  V FR  p	\+        Wy,          P                  V4      \#        V4      V	P                  V4      ,          ,
          4      pV^ 8X  d   KR  Q h	  EK?  	  \        ^^. RO4      pVP                  ^4      ^8X  g   Q hR	# )rP   Tr0  	frobeniusfroi  iI3 alphag      Y@Nr   r|  )ri   rh   r|  r   )r  rh   r   )r   r   r   r   )	ri   rj   r   r   r   r   rj   r   rm   )r$   r   r)   rA   rG   normr   r    r"   r   r6   r  r`  r.   rQ   r7   rB   rd  r   r   rI   r@   r   InfinityNegativeInfinitytrue)rP   r  r   r   r   r   r  r	  orderr   r  difr<  rK   rL   rM   rN   r   s                     ry   test_matrix_normr  -  s~    	sAAA AAFF1I!###66":SVRZ#a&"*4hq"oFFFF 	HQN#$%A668s2A.777766":Q662#;#a&    	AA A66!9>>66":??66+!###r7<<?c"gll2.3!3333366":?? 	Aq	Aqvvs+,-AFF5M8B?Qs1vqy[02q581a4?@A B A 	
Q8B?345A66!9Xc1-UA=>>>>66":66+$s)A+---
 	AA AAQ !AQB!Q !AAB !A	
qA7&EQx}}U#qvv---Avve}qvve}4ULL'(q!   AEG>>%0J./ 0C!8O8   $ 	1qs7B A!Q A|A1ayAhq#.23A	
q!QA7&EQB

A,>,>C19)$))%0AFF:::A:A66%=166%=8U+,C#C1H-777   Q2r1::q/A/ABB~~e4Z!&&-/ 1 2axx  D& 	q!23A66!9??r{   c                    aa \        R RR7      o\        ^4      p ^
V R&   \        ^^
4      V R&   V P                  4       ^d8X  g   Q hSV R&   V P                  4       \	        ^
\        S4      4      \        \        ^^
4      \        S4      4      ,          8X  g   Q h\        \        S4      \        S4      .\        S4      ) \        S4      ..4      pVP                  4       o\        ;QJ dl    VV3R l\        ^^4      \        P                  \        ^^
4      \        ^,          \        \        \        ^^4      ,          3 4       F  '       d   K   RMa	  RM]! VV3R l\        ^^4      \        P                  \        ^^
4      \        ^,          \        \        \        ^^4      ,          3 4       4      '       g   Q h\        . 4      P                  4       ^ 8X  g   Q hR# )	rP   Tr0  c              3      <"   T F=  p\        R 4      P                  SP                  SV4      P                  4       4      x  K?  	  R# 5i)r  N)r   
epsilon_eqr  rF  )rH  valMcrP   s   & ry   rI  (test_condition_number.<locals>.<genexpr>  s@      QO BEuRy##BGGAsO$9$9$;<<Os   AAFNr   rh   rh   rn   )r$   r.   r    condition_numberr   r   r   r   r)   rA   rP  r"   r   r7   )r   r<  r  rP   s     @@ry   test_condition_numberr    sv   sAAAAdGq"oAdG3&&&AdG3r3q6?S!R#a&5Q#QQQQQQ CF7CF"345A	
			B3 Q	!Q!R"Q$Bx1~<MOQ333 Q	!Q!R"Q$Bx1~<MOQ Q Q Q Q ":&&(A---r{   c                      \        R4      p \        R4      pW R,          8X  g   Q hW R,          8w  d   Q hW8X  d   Q hW8w  g   Q hV ^
8w  g   Q hV ^
8X  d   Q h\        R4      p\        R4      pW#8X  g   Q hW#8w  d   Q hR# )ri   N)rt   rq   r   ))r   r   r   )rm   rl   rk   )rj   rh   ri   rs   )r   r   r   )r   r#   )r   r   r   r   s       ry   test_equalityr    s    01A01A$<<dG|v:6M67N7Bw; 	67A01A6M6v:vr{   c                  F   \        ^^.4      P                  4       \        \        ^^4      \        ^^4      .4      8X  g   Q h\        . RO4      P                  4       \        . RO4      8X  g   Q h\        . RO4      p V P                  R R7      \        . RO4      8X  g   Q hR# )rj   c                 >    V P                   ! ^
RR7      P                  # )r   T)rO  chop)rF  is_zerorx   s   &ry   r   !test_normalized.<locals>.<lambda>  s    2D199r{   r  Nr   )r   r   g0.++)r   r  r    r   s    ry   test_normalizedr!    s    1a&>$$&AA/01 1 1 )'')VI->>>> 	}A<<9  			  r{   c                  R    \        R  4      R8X  g   Q h\        R 4      R8X  g   Q hR# )c                  4    \        ^4      P                  4       # r   r.   print_nonzeror   r{   ry   r   $test_print_nonzero.<locals>.<lambda>  s    3q6//1r{   z[X  ]
[ X ]
[  X]
c                  6    \        ^4      P                  R4      # )rj   ro  r$  r   r{   ry   r   r&    s    3q6//4r{   z[.  ]
[ . ]
[  .]
N)rd   r   r{   ry   test_print_nonzeror(    s8    12     45     r{   c                  D   \         P                  ! ^4      \        ^4      8X  g   Q h\         P                  ! ^4      \        ^4      8X  g   Q h\        ^^4      \        ^^^.^,          4      8X  g   Q h\        ^^ .^ ^..4      p \        ^ ^ .^ ^ ..4      p\         F  pVP                  ^4      pW8X  g   Q hV \        ^VR7      8X  g   Q h\        V4      V8X  g   Q hVP                  ^4      pW8X  g   Q hV\        ^VR7      8X  g   Q h\        V4      V8X  d   K  Q h	  R# )rj   rT  N)r   r.   rI   r5   rU  r  )r   rR   rU  r   s       ry   test_zeros_eyer*    s   ::a=CF"""<<?eAh&&&1:1qc"f----AA AAA AGGAJvvCsO###Aw#~~IIaLvvE!%%%%Aw#~~ r{   c                     \        4       P                  '       g   Q h\        ^ ^ .^ ^ ..4      P                  '       g   Q h\        ^^4      P                  '       g   Q h\        ^4      P                  '       d   Q h\        \        ^ .^ ^ ..4      P                  R8X  g   Q h\        \        ^ .^ ^ ..4      P                  R8X  g   Q h\        \        ^ .^ ^ ..4      P                  R8X  g   Q h\        \        ^ .^ ^ ..4      P                  R8X  g   Q h\        \        ^.^ ^ ..4      P                  R8X  g   Q h\        RRR7      p \        V ^ .^ ^ ..4      P                  R8X  g   Q hR# )r   NFrK   T)nonzero)	r   is_zero_matrixrI   r.   rP   r#   r   r   r$   r  s    ry   test_is_zeror.    sX   8"""""Aq6Aq6"#22222A;%%%%%1v$$$$$Aq6Aq6"#22d:::!Q!Q()88D@@@QFQF+,;;tCCC 1a&1a&!12AATIIIAq6Aq6"#22e;;;sD!AAq6Aq6"#22e;;;r{   c                  8   \         ^,          p \        V 4      p\        V ) 4      p\        V 4      p\        V ) 4      p\        V 4      p\        V ) 4      pW!,          \	        ^4      ,          \	        ^4      8X  g   Q hWC,          \	        ^4      ,          \	        ^4      8X  g   Q hWe,          \	        ^4      ,          \	        ^4      8X  g   Q hVP                  4       ^^\        V 4      ,          ,           8X  g   Q hVP                  4       ^^\        V 4      ,          ,           8X  g   Q hVP                  4       ^^\        V 4      ,          ,           8X  g   Q h\        ^ 4      \	        ^4      8X  g   Q h\        ^ 4      \	        ^4      8X  g   Q h\        ^ 4      \	        ^4      8X  g   Q h\        P                  ! . RO\         ^,          4      p\        P                  ! . RO\         ^,          4      p\        P                  ! . RO\         ^,          4      p	\        \         ) ^,          4      VP                  4       8X  g   Q h\        \         ) ^,          4      VP                  4       8X  g   Q h\        \         ) ^,          4      V	P                  4       8X  g   Q h\        \         5^,          4      VP                  4       8X  g   Q h\        \         5^,          4      VP                  4       8X  g   Q h\        \         5^,          4      V	P                  4       8X  g   Q hR# )rj   Nr   r   r   )r7   r;   r:   r9   r.   r  r)   r   from_axis_angleto_rotation_matrixr<   r=   r>   )
thetar3_plusr3_minusr2_plusr2_minusr1_plusr1_minusq1q2q3s
             ry   test_rotation_matricesr<    s`   qDEG% HG% HG% HCF"c!f,,,CF"c!f,,,CF"c!f,,, ==?a!CJ,....==?a!CJ,....==?a!CJ,.... Q<3q6!!!Q<3q6!!!Q<3q6!!! 
	#	#IrAv	6B		#	#IrAv	6B		#	#IrAv	6BrTAX""7"7"9999rTAX""7"7"9999rTAX""7"7"99992"b&;&;&====2"b&;&;&====2"b&;&;&====r{   c                      \        \        R 4      ^,          4      R8X  g   Q h\        \        R4      4      \        R4      8X  g   Q h\        \        R 4       \        \        R4      4      R8X  g   Q h\        \        R4      4      R8X  g   Q hR# )vectorz	vector[4]rN   c                  &    \        R 4      R,          # )rN   r   )r   r   r{   ry   r   %test_DeferredVector.<locals>.<lambda>  s    ~c226r{   testzDeferredVector('test')N)strr   rE   r_   r   reprr   r{   ry   test_DeferredVectorrD    sx    ~h'*+{:::>#&'>#+>>>>
:67~c"#s***v&'+CCCCr{   c                  >    \        \        R 4      4      '       d   Q hR# )r   N)re   r   r   r{   ry    test_DeferredVector_not_iterablerF    s    s+,,,,,r{   c                  (    \        \        R  4       R# )c                  *    \        \        R 4      4      # )r  )r   r   r   r{   ry   r   ,test_DeferredVector_Matrix.<locals>.<lambda>  s    f^C%89r{   Nr_   ru  r   r{   ry   test_DeferredVector_MatrixrK    s    
99:r{   c            
      &   \         p \        ^^^^.4      p\        ^^^^.4      p\        W.4      \        ^^^^.4      \        ^^V ! ^4      ^,          V ! R4      ^,          .4      .8X  g   Q h\        VP                  VP                  .4      \        ^^^^.4      \        ^^V ! ^4      ^,          V ! R4      ^,          .4      .8X  g   Q h\        \        ^^.4      \        ^^.4      .R4      \        ^\	        ^
4      ,          ^
,          \	        ^
4      ^
,          .4      \        \	        ^
4      ) ^
,          ^\	        ^
4      ,          ^
,          .4      .8X  g   Q h\        \        ^.4      4      p\        V4      \        ^..4      .8X  g   Q hR# )ri   TNr   )r    r   r   r8  rB   r
   )r  r   r   r  s       ry   test_GramSchmidtrM    s{   A	1q!f	B	1q!f	Bx 	1q!f	vaQqT!VQrU1W,=>?@ @ @bdd|$	1q!f	vaQqT!VQrU1W,=>?@ @ @ 1v1v7>$r(
2tBx{+,b	"aRjm,-C/ / / / 	&!+Aq>fqcUm_,,,r{   c                  ^    \        . RO^4      ^ 8X  g   Q h\        . RO^RR7      ^ 8X  g   Q hR# )ri   F)zeroNr  )r(   r   r{   ry   test_casoratianrP  )  s.    lA&!+++lAE2a777r{   c                     \        4       \        ^ ^4      ,          P                  R8X  g   Q h\        ^^ 4      \        ^ ^4      ,          \        ^^4      8X  g   Q h\        ^ ^4      \        ^^ 4      ,          \        4       8X  g   Q hR# )r   N)r   rj   )r   rI   r  r   r{   ry   test_zero_dimension_multiplyrR  .  si    HU1a[ ''6111A;uQ{"eAqk111A;uQ{"fh...r{   c                    a  \        ^^\        ^4      4      o S R,          \        ^^..4      8X  g   Q hS R,          \        ^^..4      8X  g   Q hS R,          \        ^^..4      P                  8X  g   Q hS R,          \        ^^..4      P                  8X  g   Q h\        \        V 3R l4       \        \        V 3R l4       R# )rh   c                     < S R,          # )rh   )rh   rp   r   r   s   ry   r   'test_slice_issue_2884.<locals>.<lambda>:  	    qwr{   c                     < S R,          # )rh   r  r   r   s   ry   r   rU  ;  rV  r{   Nro   )r   rp   rr   r?  )r   r   r8  r_   r   r   s   @ry   test_slice_issue_2884rX  4  s    q!U1XAT7fq!fX&&&&U8v1vh''''T7fq!fX&(((((U8v1vh')))))
:'
:'r{   c                      \        ^ ^4      R,          P                  R8X  g   Q h\        ^^ 4      R,          \        ^^ . 4      8X  g   Q hR# )r   Nr?  r   r;  )rI   r  r   r   r{   ry   test_slice_issue_3401rZ  >  sC    A;u##v---A;tq!R 0000r{   c                     \        ^^4      p ^V ^&   V R,          \        . RO4      8X  g   Q hV ^,          ^8X  g   Q hV R,          ^.8X  g   Q h^*V R&   V R,          ^*8X  g   Q hV R,          \        ^*^ ..4      8X  g   Q h\        ^^..4      V R&   V R,          \        . RO.4      8X  g   Q h^*^+..V R&   V R,          \        . R	O.4      8X  g   Q h^V R
&   V R,          \        . RO4      8X  g   Q h. ROV R
&   V R,          \        . RO4      8X  g   Q h\        . RO4      V R
&   V R,          \        . RO4      8X  g   Q h\        . RO4      V R
&   V R,          \        . RO4      8X  g   Q hR# )rj   :rj   rk   NNrD  r   rn   )ri   r  ro   )ri   rl   rm   )ri   *   +   r   )rp   :Nri   N)   ri   r   r  )rI   r   r#   )r  s    ry   test_copyinr_  C  sd   aAAaDT7fY''''Q4199T7qc>>AdGT7b==U8vAwi((((1vhAeHT7fi[))))RzAeHT7fk]++++AdGU8vj))))AdGT7fY''''YAdGT7fY''''9%AdGT7fY''''r{   c                  V  a  \        ^^.^^..4      P                  4       \        ^^.^ ^ ..4      R38X  g   Q h\        \        R 4       \        . R	O\        ^^.^\        R..4      o \        S P                  4       ^,          4      S P                  8w  g   Q hS P                  4       ^ ,          \        ^4      8w  g   Q hS P                  \        R7      ^ ,          \        ^4      8w  g   Q h\        \        V 3R l4       \        \        V 3R l4       \        \        V 3R l4       R# )
ri   c                  @    \        ^^.^^..4      P                  4       # r  r  r   r{   ry   r   'test_invertible_check.<locals>.<lambda>^  s    v1v1v&67;;=r{   r  c                  (   < S P                  R R7      # )r  r  r  r   s   ry   r   rb  i  s    quuEu2r{   c                  (   < S P                  R R7      # )r  r  rd  r   s   ry   r   rb  j      quuDu1r{   c                  (   < S P                  R R7      # )r  r  rd  r   s   ry   r   rb  k  rf  r{   Nr   r   )r   r   r   )	r   r  r_   r  rP   r  ru   r.   r?   r   s   @ry   test_invertible_checkrh  Z  s     Aq6Aq6"#((*v1v1v6F/G.NNNN
:=>
a!
a 	A
 qvvx{qvv%%% 668A;#a&   6686$Q'3q6111
:23
:12
:12r{   c                      \        R 4      w  rW,          pVP                  V \        . RO4      4      \        . RO4      V,          8X  g   Q hR# )zx, yN)rj   rl   rj   )rD   r  r   )rP   rQ   r   s      ry   test_issue_3959rj  n  s<    6?DA	A66!VI&'6)+<Q+>>>>r{   c                  H    \        \        ^^.^^..4      4      R8X  g   Q hR# )ri   zMatrix([[1, 2], [3, 4]])N)rB  r   r   r{   ry   test_issue_5964rl  t  s(    v1v1v&'(,FFFFr{   c                      \        R 4      w  r\        \        V ^V,          .V^,          V ^,           ..4      4      R8X  g   Q hR# )r  z'Matrix([
[   x,   2*y],
[y**2, x + 3]])N)rD   rC   r   r$  s     ry   test_issue_7604rn  x  sE    5>DAAaC1a4Q-01234 4 4r{   c                  |   \        ^4      P                  '       g   Q h\        ^4      P                  4       P                  '       g   Q h\        ^4      P                  '       d   Q h\	        ^4      P                  '       d   Q h\        . RO.4      P                  '       d   Q h\        ^^R^R^R^/4      P                  '       g   Q h\        ^^\        ^4      4      P                  '       d   Q h\        ^^R^R^/4      P                  '       d   Q h\        ^^R^R^R^R^R^/4      P                  '       d   Q hR# )rj   Nr   r   rn   r  r   r  )r.   is_Identityr,  rI   r5   r   r#   r   r   r{   ry   test_is_Identityrq  ~  s   q6q6 ,,,,,Qx#####Aw"""""yk".....!eAuQa89EEEEEAaq*66666Aa%5!34@@@@@Aa%5E!U1eA!NO[[[[[[r{   c                     \        ^^4      P                  \        ^^4      4      ^8X  g   Q h\        ^^4      P                  . RO4      ^8X  g   Q h\        . RO4      P                  \        . RO4      4      ^8X  g   Q h\        ^^^\        ,          .4      P                  \        \        ^^\        ,          .4      4      R\        ,           8X  g   Q h\        ^^^\        ,          .4      P                  \        \        ^^\        ,          .4      RR7      R\        ,           8X  g   Q h\        ^^^\        ,          .4      P                  \        \        ^^\        ,          .4      RR7      ^\        ,           8X  g   Q h\        ^^^\        ,          .4      P                  \        \        ^^\        ,          .4      RRR7      ^\        ,
          8X  g   Q h\        ^^^\        ,          .4      P                  \        ^^\        ,          ^.4      RRR7      ^^\        ,          ,           8X  g   Q h\        ^^^\        ,          .4      P                  \        ^^\        ,          ^.4      RRR7      ^^\        ,          ,
          8X  g   Q h\        \        ^\        ,          .4      P                  \        \        ^\        ,          .4      RRR7      R8X  g   Q h\        \        ^\        ,          .4      P                  \        \        ^\        ,          .4      RR7      ^8X  g   Q h\	        \
        R	 4       R
# )ri   Fr  Tphysicsr  conjugate_conventionrightleft)ru  c                  V    \        ^^.4      P                  \        ^^.4      RRR7      # )ri   TrA  rt  r  r   r{   ry   r   test_dot.<locals>.<lambda>  s'    vq!f~11&!Q.Dgm1nr{   Nr  rt   r   )r5   r  r   r   r_   r  r   r{   ry   test_dotrz    s   1:>>$q!*%***1:>>)$))))  	!23r9991a1+""61a1+#6726AAA1a1+""61a1+#6%"HBQRFRRR1a1+""61a1+#6$"G2PQ6QQQ1a1+""61a1+#6$]f"gkmpqkqqqq1a1+""61ac1+#6$]d"eijmnopmpipppp1a1+""61ac1+#6$]c"dhilmnolohoooo1ac(1Q3x 0EX^_ceeee1ac(1Q3x 0vNRSSSS
:nor{   c            	         \        R RR7      w  rr#rE\        ^ W4V3V) ^ W!) 3V) V) ^ V 3V) W) ^ 334      p\        ^ V ) V) V) 3V ^ WT) 3W) ^ V3W$V) ^ 334      pVP                  4       P                  V4      '       g   Q h\	        ^4      P                  4       P                  \        ^4      4      '       g   Q hVP                  4       P                  4       P                  V) 4      '       g   Q hR# )zB_x B_y B_z E_x E_y E_zTr0  N)rD   r   dualequalsr.   rI   )B_xB_yB_zE_xE_yE_zr]  Fds           ry   	test_dualr    s   #*!$. CcC 
!c4 
tC 
Ta 	 	A 
sdSD3$	S$	dq3	SDQ	 
B 668??2q6;;=a))))668==?!!1"%%%%r{   c                     \        ^^.4      P                  4       RJ g   Q h\        ^^^ \        ^,          ^\        ,          ,           ^,           \        \        ^,           ^,          ) ^ \        \        ,          \        ) \        ) \        ,          ^ .	4      p V P                  4       RJ g   Q hV P                  RR7      e   Q hV P                  R R7      e   Q hV R,          ) V R&   V P                  4       e   Q hV R,          ) V R&   V P	                  4       p V P                  RR7      RJ g   Q h^V R&   V P                  4       RJ g   Q hR# )ri   FTr  Nc                     V # r   r   rx   s   &ry   r   %test_anti_symmetric.<locals>.<lambda>  r  r{   ry  r   )r   r  rP   rQ   r-   r   s    ry   test_anti_symmetricr    s/   1a&>++-666q!aA!aa!eaZKAaC!aRT1MNA D(((.6664<<< whAdG (((whAdG	
A.$666AdG E)))r{   c                     \        R4      p V P                  RR7      w  rWP                  ,          VP                  V,          u;8X  d   \        VP                  4      8X  g   Q h Q hV P                  RRR7      w  rWP                  ,          VP                  V,          u;8X  d   \        VP                  4      8X  g   Q h Q hW,          VP                  4       ,          V 8X  g   Q hR# )ri   Tr  )r  sortN)rg  ry  )r   r  r8  r.   rv   r  )r   r  r   s      ry   #test_normalize_sort_diogonalizationr    s     A==4=(DASS5ACCE(S[(((((==4d=3DASS5ACCE(S[(((((3quuw;!r{   c                  (    \        \        R  4       R# )c                  6    \        . RO\        ^ ^. 4      .4      # r  r  r   r{   ry   r   !test_issue_5321.<locals>.<lambda>  s    vy&Ar2B&CDr{   N)r_   r  r   r{   ry   test_issue_5321r    s    
:DEr{   c            	         \         P                  ! \        ^4      ^\        ^4      ,          4      \        . RO. RO.4      8X  g   Q h\         P                  ! \        ^4      ^\        ^4      ,          4      \        ^^ .^ ^.^^ .^ ^..4      8X  g   Q h\        p V P                  V ! \        ^4      4      V ! ^\        ^4      ,          4      4      \        . RO. RO.4      8X  g   Q hR# )rh   N)ri   r   rh   r   )r   ri   r   rh   )r   r   r.   r  r#   rT  s    ry   test_issue_5320r    s    ==Q3q6*f6 /    ==Q3q6*f	
A	
A	
A	
A	6 /    C::c#a&k3qQx=1V= 6   r{   c                      \        ^..4      p \        V 4      p\         P                  ! W4      \        ^^..4      8X  g   Q h\         P                  ! W4      \        ^.^..4      8X  g   Q hR# r}   )r   rE   r   r  )r   AIms     ry   test_issue_11944r    s^    uA
!*C== FQF8$4444== FQC!:$6666r{   c                    a . ROp . ROp\        . RO4      pVP                  pV3R lp\         F  oS! V 4      pS! V4      pV! VP                  V4      V4       V! VP                  VP                  4      V4       V! VP                  P                  VP                  4      V4       V! VP                  P                  V4      V4       K  	  \	        \
        R 4       R# )ri   c                 <   < W8X  g   Q h\        V 4      S8X  g   Q hR # r   )r  )r<  r  rU  s   &&ry   rA  test_cross.<locals>.test  s    xxAw#~~r{   c                  X    \        ^^^^.4      P                  \        ^^^^.4      4      # r  r  r   r{   ry   r   test_cross.<locals>.<lambda>  s*    q!aV""6!QA#78r{   Nrt   r  )r   rk   r   )r   r8  rU  r  r_   rX   )rK   rL   r   r   rA  r   r   rU  s          @ry   
test_crossr    s    AA

C
%%C FFQWWQZQWWQSS\3QSSYYqss^S!QSSYYq\3  : 9 :r{   c                  ^   \        \        \        \        .4      p \        \        \
        \        .4      pV P                  4       V,          V P                  V4      8X  g   Q hV P                  4       P                  4       '       g   Q hV P                  4       P                  4       V 8X  g   Q hR # r   )r   rP   rQ   rR   rK   rL   rM   hatr  r  vee)v1v2s     ry   test_hat_veer    sw    	Aq		B	Aq		B668b=BHHRL(((668%%''''668<<>Rr{   c                  8   \          F[  p V P                  ^4      V P                  ^4      0p\        V4      ^8X  d'   VP                  4       V P                  ^4      8X  d   K[  Q h	  \         F*  p \        V P                  ^4      \        4      '       g   K*  Q h	  R# r}   )immutable_classesr.   r  popr  r1  r   )rU  r  s     ry   	test_hashr    ss     WWQZ$1v{quuw#''!*444 ! cggaj(3333 r{   c                      ^ \         .^^ ..p \        ^ ^.\         ) ^ ..4      p\         F  pW! V 4      P                  4       8X  d   K  Q h	  R# r   )r   r   rU  adjoint)r0  r  rU  s      ry   test_adjointr    sR    q6Aq6
C
1a&A2q'"
#Cc#h&&(((( r{   c                     \        ^^.\        ^^\        ,          ,
          ..4      p V P                  4       \        P                  \        ^4      \        P
                  \        08X  g   Q hV P                  \        4      \        08X  g   Q hR# r}   )r   rP   r  r"   r   NegativeOner$   r   s    ry   
test_atomsr    sb    AA!G%&A779qtAMM15555776?qc!!!r{   c            	        a	 \        \        \        .\        \        ..4      p \        V P                  R R7      4      \        V P                  4       4      8X  g   Q h\        ^^h.R^.R^..4      \        . RO. RO.4      \        \        \        .4      .pV F{  pVP                  R R7      pW#,          pW2,          p\        WB,          4      V8X  g   Q h\        WS,          4      V8X  g   Q hVP                  V8X  g   Q hVP                  V8X  d   K{  Q h	  V F  p\        VP                  RR7      4      pW#,          pW2,          p\        WB,          4      V8X  g   Q h\        WS,          4      V8X  g   Q hVP                  V8X  g   Q hVP                  V8X  d   K  Q h	  ^ RI	H
o	 V P                  RR7      pV P                  4       p\        R\        R\        R\        R/p\        ;QJ dG    V	3R l\        VP                  V4      VP                  V4      4       4       F  '       d   K   R	M<	  R
M8! V	3R l\        VP                  V4      VP                  V4      4       4       4      '       g   Q hR# )RDr  i  ED)compib,  i  ij  c              3   r   <"   T F,  w  rS! VP                  4       VP                  4       4      x  K.  	  R # 5ir   rN  )rH  r   r   r  s   &  ry   rI  test_pinv.<locals>.<genexpr>A  s0      
3DA 	QSSUACCE3s   47FTNr|  )ri   r   r   )r   r^     i_)r   rK   rL   rM   rN   r@   pinvr  r:  sympy.core.numbersr  rP  r*  r  )
A1Asr   A_pinvAApApAr^  wrepsr  s
            @ry   	test_pinvr    s	   	!Q!Q 	!BBGG4G()Xbffh-???? 2s)dAYQ0
1
)\*
+
!Q.
B t$jj A%%%%///uu||uu||  !&&&-.jj A%%%%///uu||uu||  (
tA
Avq%E1e4D3 
taffTl3
333 
taffTl3
 
 
 
 
r{   c            	          \        . RO. RO. RO. RO. R	O. R
O.4      .p V  FV  pVP                  RR7      pW,          pW!,          pVP                  V8X  g   Q hR pV! VP                  V4      '       d   KV  Q h	  R# )=   r  r  c                 &   V P                  \        4      pV Uu/ uF  q3VP                  4       bK  	  ppW,
          P                  V4      P                  4       p\        ;QJ d    R  V 4       F  '       d   K   R# 	  R# ! R  V 4       4      # u upi )c              3   >   "   T F  p\        V4      R 8  x  K  	  R# 5i)g|=Nr  )rH  r   s   & ry   rI  Xtest_pinv_rank_deficient_when_diagonalization_fails.<locals>.allclose.<locals>.<genexpr>h  s     ;{!s1v~{s   FT)r  r!   rF  r  rP  )r   r   rootofsr  rootofs_approxdiff_approxs   &&    ry   allcloseEtest_pinv_rank_deficient_when_diagonalization_fails.<locals>.allclosed  su    hhv&G4;<GqlGN<7,,^<BBDK3;{;33;3;3;{;;; =s   BN)r  r  7   rH  rv  r   )>   `   U   r  rG  r   )E   8   r^  rk   6   r   )r   r  [   )   rv  r   )r   rc  r   rs  Z   r   )r   r   r   r   r   r   )r   r  r:  )r  r   r  r  r  r  s         ry   3test_pinv_rank_deficient_when_diagonalization_failsr  G  s    
 	#####  	!
B t$jjuu||	< s####- r{   c                      \        ^ ^4      \        ^ ^4      ,           \        ^ ^. 4      8X  g   Q h\        ^^ 4      \        ^^ 4      ,           \        ^^ . 4      8X  g   Q hR# r   )r5   r   r   r{   ry   test_issue_7201r  m  sR    1:Q
"fQ2&66661:Q
"fQ2&6666r{   c                      \         \        \        \        3 F)  p V ! \        .^ ..4      P
                  \        08X  d   K)  Q h	  R# r   )r   r   r   r#   rP   free_symbolsr;  s    ry   test_free_symbolsr  r  s9    3V\I1#s}))aS000 Jr{   c                 &  a   ^ RI Ho  \	        S ! . RO4      4      \	        . RO4      8X  g   Q h\	        S ! . RO.4      4      \	        . RO.4      8X  g   Q h\	        S ! . RO. RO.4      4      \	        . RO. RO.4      8X  g   Q h\	        S ! \
        \        \        .4      4      \	        \
        \        \        .4      8X  g   Q h\        \        V 3R l4       \	        S ! ^^.4      S ! ^^.4      .4      \	        ^^.^^..4      8X  g   Q h\	        S ! ^^.4      ^^..4      \	        ^^.^^..4      8X  g   Q h\	        S ! . 4      S ! . 4      .4      \	        ^^ . 4      u;8X  d   \	        . 4      8w  g   Q h Q hR#   \         d    \        R4        ELi ; i)zSee issue 7465.ri  rk  c                  B   < \        S ! ^^.^^..^^.^^...4      4      # r  r  r  s   ry   r   #test_from_ndarray.<locals>.<lambda>  s.    u1v1v.!Q!Q0@ABCr{   Nrt   rq   )
rn  ri  rr  r`   r   rP   rQ   rR   r_   NotImplementedErrorr  s   @ry   test_from_ndarrayr  w  sv   P %	"#vi'8888%$%)<<<<%I./0	9%&' ' '%Aq	"#vq!Qi'8888
CE5!Q=%A-01VaVaV<L5MMMM5!Q=1a&)*fq!fq!f5E.FFFF59eBi()VAq"-=KKKKKK  PNOPs   E6 6FFc            	         ^ RI Hp   ^ RIHpHp V ! X! ^^.^^..4      4      pV^,          ^8X  g   Q h\        V4      . RO8X  g   Q h\        \        4      ;_uu_ 4        V ! X! ^^.^^..4      4      pRRR4       V^,          ^8X  g   Q h\        V4      . RO8X  g   Q hR#   \
         d    \        R4        Li ; i  + '       g   i     LR; i)r   
_matrixify)ri  matrixzPNumPy must be available to test indexing matrixified NumPy ndarrays and matricesNr  )
sympy.matrices.commonr  rn  ri  r  rr  r`   rw   r^   PendingDeprecationWarning)r  ri  r  r   s       ry   test_17522_numpyr    s    0a' 	51a&1a&)*+AQ41997l"""	2	3	3v1v1v./0 
4Q41997l"""  a_`a 
4	3s   B" B>"B;:B;>C	c                      ^ RI Hp   ^ RIHp V ! X! ^^.^^..4      4      pV^,          R8X  g   Q h\        V4      . RO8X  g   Q hR#   \         d    \        R4        LRi ; i)r   r  )r  zEmpmath must be available to test indexing matrixified mpmath matrices      @N)r  r  r3  r  )r  r  mpmathr  rr  r`   rw   )r  r  r   s      ry   test_17522_mpmathr    sk    0V! 	6Aq6Aq6*+,AQ43;;7****  VTUV   A A! A!c                      ^ RI Hp   ^ RIHp V ! X! ^^.^^..4      4      pV^,          ^8X  g   Q h\        V4      . RO8X  g   Q hR#   \         d    \        R4        LRi ; i)r   r  )
csr_matrixzJSciPy must be available to test indexing matrixified SciPy sparse matricesNr  )r  r  scipy.sparser  rr  r`   rw   )r  r  r   s      ry   test_17522_scipyr    sj    0[+ 	:1v1v./0AQ41997l"""  [YZ[r  c                  *   \        ^\        .\        ) ^..4      p V P                  '       g   Q h^\        ,          V R&   V P                  RJ g   Q h\        V R&   V P                  e   Q hV R,          \        ,          V R&   V P                  RJ g   Q hR# )ri   FNr   r   r   r  r  s    ry   test_hermitianr    s    A!Q !A>>>>cAdG>>U"""AdG>>!!!gaiAdG>>U"""r{   c                    aa \        . RO. RO. RO.4      p V P                  ^4       V \        . RO. RO.4      8X  g   Q h\        . RO. RO. RO.4      pVP                  R	4       V\        . RO. RO.4      8X  g   Q h\        . RO. R
O. RO.4      pVP                  R4       V\        . RO. R
O.4      8X  g   Q h\        . RO. RO. RO.4      o\        \        V3R l4       \        . RO. RO. RO.4      o\        \        V3R l4       \        . RO. RO. RO.4      p V P	                  ^4       V \        ^^.^^.^^..4      8X  g   Q h\        . RO. RO. RO.4      pVP	                  R	4       V\        ^^.^^.^^..4      8X  g   Q h\        . RO. RO. RO.4      o\        \        V3R l4       \        . RO. RO. RO.4      o\        \        V3R l4       R# )ri   c                  &   < S P                  ^
4      # r  r   r  s   ry   r   +test_issue_9457_9467_9876.<locals>.<lambda>  r   r{   c                  (   < S P                   ! R4      # r   r  r   r   s   ry   r   r        qyy~r{   c                  &   < S P                  ^
4      # r  r   r  s   ry   r   r    r   r{   c                  (   < S P                   ! R4      # r  r   r  s   ry   r   r    r  r{   Nrt   r  r  r   )rl   rm   r   r  r   )r   r   r_   r   r   )r<  ra  Or  r   s      @@ry   test_issue_9457_9467_9876r    s   	9i01AIIaL	9-....	9i01AIIbM	9-....	9k23AIIbM	9-....	9i01A
:,-	9i01A
:-. 		9i01AIIaLAAA/0000	9i01AIIbMAAA/0000	9i01A
:,-	9i01A
:-.r{   c                     \        R RR7      w  r\        R4      w  r#\        ^4      p\        ^^WV\        .4      pW,          V,          W,          V,          8w  g   Q hW2,          V,          W#,          V,          8X  g   Q hW,          WP,          8w  g   Q hW%,          WR,          8X  g   Q hW,          V,          \        W,          ^ .^ W,          ..4      8X  g   Q hR# )r  F)commutativeza bN)rD   r.   r   rR   )rP   rQ   rK   rL   r<  r   s         ry   test_issue_9422r    s    5e,DA5>DAAA	1qQl	#B3q5ACE>>3q5ACE>>424<<424<<3q5FQS!Hq!#h/0000r{   c                  J   \        . 4      p R R.\        . RO4      3pRR.V^,          P                  3pRR .\        ^^.^^..4      3pWV3 FR  w  rEV FG  p\        W4      pRV9   d	   V! V4      MV! ^*V4      pW8X  d   \        V4      \        V4      8w  d   KG  Q h	  KT  	  R# )r   r   r   r   joinN)r   rm   rj   )r   r8  r  id)	r<  rK   rL   rM   opsr   opr  news	            ry   test_issue_10770r    s    r
A	z"F9$55A	z"AaDFF*A	|$fq!fq!f-=&>>A)BA B,!A$Ab!HC832a5 000  r{   c                     \        . RO. RO. RO.4      p V P                  . RO. RO4      \        ^^.^^.^^..4      8X  g   Q hV P                  . RO. RO4      \        ^.^.^..4      8X  g   Q hV P                  . RO. RO4      \        . RO.4      8X  g   Q hV P                  . RO. RO4      \        . RO. RO.4      8X  g   Q hV P                  . RO. R	O4      \        ^^ . 4      8X  g   Q hV P                  . R	O. RO4      \        ^ ^. 4      8X  g   Q hV P                  . RO. R
O4      \        ^.^..4      8X  g   Q hR# )ri   Nrt   rq   r   r  )TTF)TFF)TFT)FFF)FTF)r   r   r  s    ry   test_issue_10658r    s8   	9i01A99Y 34AAA'() ) )99Y 45!qcA39PPPP99)959LLLL99()4	9%&' ' '99Y 56&Ar:JJJJ99*I6&Ar:JJJJ99(*>?aSz  r{   c                     \        R^\        ^4      ,          ,           R.R\        ^4      ,          ^,          ^,           R\        ^4      ,          ^,          ..4      p V P                  4       ^8X  g   Q h\        ^^\        ^4      ,          \        ,          ,           R.^R^\        ^4      ,          \        ,          ,           ..4      p \	        V P                  4       ^ ,          \        ^R^^\        ^4      ,          \        ,          ,           ,          .^ ^ ..4      ,
          4      \        ^^4      8X  g   Q h\        R4      w  rr4rVrxrr\        WW,          W+,          ^ .W4W;,          WK,          ^ .WVW[,          Wk,          ^.WxW{,          W,          ^.W^V	,          V,          W,          ,
          ^V
,          V,          W,          ,
          ^ ..4      p V P                  4       ^8X  g   Q hR# )rl   z/a_x a_y b_x b_y c_x c_y d_x d_y e_x e_y t_0 t_1Nr   rV  r|  )r   rB   r  r   r@   r  rI   rD   )r   axaybxbycxcydxdyexeyt0t1s                ry   !test_opportunistic_simplificationr    s    	aQi$r$q'z!|a'7DGA&FGHA668q== 	1T!W9Q;#Qr!DG)A+~$678AAFFHQK&1b!aQik/.B*CaV)L"MMNRWXY[\R]]]] +22c*d'B"bB"ruRU1%rRU25&;R25q<QSUY[Y^_a_defRgikopqsostvovwyw|o|}~  @B  ~B  CE  ~E  FH  FK  ~K  LM  iN  O  	PA668q==r{   c                     \        . RO. RO.4      p V P                  4       ^ ,          \        . RO. RO.4      ,
          P                  4       R8  g   Q h\        . RO. RO. R	O.4      p\        . R
O. RO. RO.4      p\        . RO. RO. R	O.4      pVP                  4       V,
          P                  4       R8  g   Q hVP                  4       V,
          P                  4       R8  g   Q hR# )~jth?V瞯<N)r  gRM@g(\M@)gDl)@gQgp=
cG@)r  r   r  )r   r  r  )q7K<r  rk   )r  r   r   r   )r  r  r  )r                 @)r  r  r  )r   r  r  )r  r  g      )r   r  r
  r  )mmm_mixedm_floatm_invs       ry   test_partial_pivotingr    s    
 $&;<=BGGIaL6#3#3#5 6 67;tvF F F o%%' (G ''') *G (((* +E
 KKME!'')E111KKME!'')E111r{   c                     \        . RO. RO. RO.4      p V P                  R R7      ^ ,          p\        . RO. R	O. R
O.4      pW,
          pVP                  4       R8  g   Q hVR,          ^ 8X  g   Q hR# )zWhen doing numerical computations, all elements that pass
the iszerofunc test should be set to numerically zero if they
aren't already. c                     \        V 4      R 8  # )g [n<r  rx   s   &ry   r   *test_iszero_substitution.<locals>.<lambda>2  s    Qr{   r  r  N)?皙gɿr   )皙r#  gٿr   )r$  r%  g333333?r   )r  r   g4iҤIӿr   )r   r  glٲer   r  r  )r   r  r
  )r   m_rref	m_correctm_diffs       ry   test_iszero_substitutionr)  +  sp     	$%9:NOPAVV5V6q9F9:[\}~IF;;=5   #;!r{   c            	         ^ RI Hp  ^\        \        \	        ^^-4      ,          4      ,          \        \        \	        ^^-4      ,          4      \        ^4      ,           ,          pR\        ^4      ,          \        \        \	        ^^-4      ,          4      ^,          ,          ^\        \        \	        ^^-4      ,          4      ,          ,           R\        \        \	        ^^-4      ,          4      ^,          ,           ,          pV ! ^ ^ 4      pV ! ^\        ^4      ) 4      pV ! W4      p\        V\        V4      ,
          V\        V4      ,
          .4      p\        W5,
          WE,
          .4      p\        \        W5,
          4      \        WE,
          4      .4      pR p	VP                  RV	R7      ^8X  g   Q hVP                  RV	R7      ^8X  g   Q hVP                  RV	R7      ^8X  g   Q hR# )r   )Pointc                 <    \        V P                  ! 4       4      R 8  # )g#B;)rd  rO  rx   s   &ry   r   "test_issue_11238.<locals>.<lambda>H  s    #acce*u$r{   T)r@   r  NrW  r|  )	sympy.geometry.pointr+  rF   r7   r    rB   r   r@   r  )
r+  xxyyp1p2p0r   r   r   Zs
             ry   test_issue_11238r5  :  sx   *	
3r(2r""#	#SHR,<)<%=Q%G	HB
T!W*SHR,,-q0
02c"Xb"=M:M6N3N
NQSVYZ\]efhjl]mZmVnpqVqQq	rB	q!B	q47(	B	rB	hrl"B"$56	7B	"'"	#B	"'"HRW$56	7B
 	%A77DQ7/144477DQ7/144477DQ7/1444r{   c                     \        ^^. RO4      p V \        P                  ,          pW,           p\         FQ  pV! V4      P	                  4       w  rE\        V4      \        V 4      8X  g   Q h\        V4      \        V 4      8X  d   KQ  Q h	  R# )rh   Nr  )r   r"   ImaginaryUnitrU  as_real_imagrw   )r   r   r   klsrK   rL   s         ry   test_as_real_imagr:  N  so    	!I	B	AOO	B	B"g""$Aw$r("""Aw$r(""" r{   c                      \        ^^. RO4      p V P                  4       w  rV^,          \        ^^^.4      8X  g   Q hV^ ,          \        ^^. RO4      8X  g   Q hR# )rj   NrT  )rh   ri   r   rh   )r   jordan_cells)r   r  Jcellss      ry   test_deprecatedr>  Y  sY    
 	q!23A IA!9q!aS))))!9q!\2222r{   c                      ^ RI Hp  \        . RO4      p\        . RO4      pV ! V^4      \        . RO4      8X  g   Q hV ! V^4      \        . RO4      8X  g   Q hR# )r   )ModN)r   ri   rh   )r   rH  rU  )rh   ri   rh   )rh   r   ri   )sympy.core.modr@  r   )r@  r   r   s      ry   test_issue_14489rB  d  sK    "zA}Aq!9y))))q!9y))))r{   c                       ^ RI Hp  \	        ^^.^^..4      pX ! V\
        R7      P                  P                  R8X  g   Q hR#   \         d    \        R4        LTi ; i)r   r  rk  )dtypefloat64N)rn  ri  rr  r`   r   floatrD  name)ri  r<  s     ry   test_issue_14943rH  m  s`    P 	1!u~A% &&++y888	  PNOPs   A AAc                  r    \        R ^^4      p \        R4      pV R,          ^ 8  p\        V4      R8X  g   Q hR# )r   rK   zm[0, 0] > 0Nr   )r   r$   rB  )r   rK   s     ry   test_case_6913rJ  x  s8    S!QAsA	$	Aq6]"""r{   c                  h    \        R ^^4      p \        R4      pV P                  V4      W/8X  g   Q hR# )r   rK   N)r   r&   match)r   rK   s     ry   test_issue_11948rM    s1    S!QAS	A771:!r{   c                     \        ^\        .4      \        ^\        ) .4      .p \         P                  ! V !  \        ^.\        ..4      \        ^.\        ) ..4      .8X  g   Q h\        ^\        ^ .4      \        \        ^ \        ) .4      .p \         P                  ! V !  \        ^.\        .^ ..4      \        \        ^,          .\        ^4      ^,          .\        ) ..4      .8X  g   Q h\        ^\        .^\        ) ..4      pVP	                  4       w  r#W"P
                  ,          \         P                  ! ^4      8X  g   Q hR# r}   )r   r   r   r"   QRdecompositionr:  r.   )r  rZ  r   r  s       ry   test_gramschmidt_conjugate_dotrP    s#   Aq6NFAr7O,D&	!qc
	VaSA2$K012 2 2 Aq!9vq!aRj12D&	!qcA3	 &1Q3%!A$q&QB4)@"ABC C C 1a&1qb'"
#C DAss7fjjm###r{   c                      \        \        R ^^4      4      p \        \        R^^4      4      pV P                  ! V4      p\        W R,          4      p\        W0R,          4      pW1R,          8X  g   Q hV^ 8X  g   Q hR# )rK   rL   Nr   )r   r   r  r+   )rK   rL   rM   rN   r   s        ry   test_issue_8207rR    sj    |CA&'A|CA&'A	aAQ$AQ$A$<<6M6r{   c            	      V  a ^ RI Hp  \        ^^.^ ^..4      oSP                  \	        \
        \        ,          4      \
        4      \        \	        \        4      \	        ^\        ,          4      \	        \        4      ,
          .^ \	        ^\        ,          4      ..4      8X  g   Q h\        ^^.^^..4      o\        S,          ^,          P                  \        \
        4      \
        4      \        \        ^4      ^,          \        ^4      ) ^,          .\        ^4      ) ^,          \        ^4      ^,          ..4      8X  g   Q h\        \        R 4       \        \        V3R l4       \        . RO. RO. RO. RO.4      oSP                  \        \
        4      \
        4      SP                  4       8X  g   Q h\        \        V3R l4       \        ^)^.^^"..4      o\        SP                  \        \
        4      \
        4      ^,          4      S8X  g   Q h\        . R	O. R
O. RO.4      o\        SP                  V ! \
        ^4      \
        4      ^,          4      S8X  g   Q h\        . RO. RO. RO. RO.4      oSP                  \        \
        4      \
        4      SP                  4       8X  g   Q h\        . RO. RO. RO. RO.4      oSP                  \        \
        \        ,          4      \
        4      \        \        S\        ,          P                  4       4      4      8X  g   Q hR# )r   )nthrootc                  Z    \        ^4      P                  \        \        4      \        4      # r   )rI   analytic_funcr2   rP   r   r{   ry   r   test_func.<locals>.<lambda>  s    a 6 6s1vq Ar{   c                  `   < S \         ,          P                  \        \         4      \         4      # r   )rP   rV  r2   r  s   ry   r   rW    s    1 3 3CFA >r{   c                  J   < S P                  \        \        4      \        4      # r   )rV  rB   rP   r  s   ry   r   rW    s    Q ;r{   N)r   r   r   rj   )r   ri   r   r   )r   r   r   ri   )rj   r  rk   )r   r   r   )r   rl   r   rp  )ri   rh   r   r   )r   ri   rj   r   )r   r   ri   rj   )r   rh   ri   rm   )r   r   ri   rh   )r   r   r   rj   r  )sympy.simplify.simplifyrT  r   rV  rA   rP   rO   r7   r)   rB   r_   r  r,   r@   r-   )rT  r   s    @ry   	test_funcr[    sD   /A1vA??3qs8Q'6CFC!Hs1v<M3NQRTWXYZ[X[T\P]2^+____A1vAFQJ%%c!fa0FT!WQYaQR
<SW[\]W^V^_`V`bfghbijkbkUl;m4nnnn :AB
:>?}MNA??3q61%000
:;<R"b"#AAOODGQ/23q888[+67AAOOGAqM15q89Q>>>lL,GHA??3q61%000lL,GHA??3qs8Q'6(AaC99;2G+HHHHr{   z$Cannot create threads under pyodide.c            	      D   R  p \        R4      ;_uu_ 4        \        P                  P                  4       ;_uu_ 4       pVP	                  V 4      pVP                  4       '       g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                  ^    \         P                  R 8X  g   Q h\        ^..4      p W ,          p R# )NT)rZ   stater   r   s    ry   r  test_issue_19809.<locals>.f  s-    !''4///QC5MEr{   TN)r\   
concurrentfuturesThreadPoolExecutorsubmitresult)r  executorfutures      ry   test_issue_19809rg    si     
T		2244__Q'F==??"? 5 
	44 
		s"   'B*A;	)B;BBB	c                      \        \        \        .4      p \        V \        ^ ^3\        ^ ^34      \        \        P
                  .\        P
                  ..4      8X  g   Q hR# r   )r   rP   rQ   r1   r"   r   r;  s    ry   test_issue_23276ri    sT    1vAQAq	Aq!9-	
	
9 2   r{   c                  (    \        \        R  4       R# )c                  .    \        \        . RO4      4      # )ri   r
  )r/   r   r   r{   ry   r   "test_issue_27225.<locals>.<lambda>  s    uVI%67r{   NrJ  r   r{   ry   test_issue_27225rm    s    
978r{   (T  concurrent.futuresr`  rd  collections.abcr   sympyr   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"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   r  rK   rL   rM   rN   rO   rP   rQ   rR   sympy.core.kindrS   rT   sympy.matrices.determinantrU   sympy.matrices.exceptionsrV   rW   rX   sympy.matrices.kindrY   sympy.matrices.utilitiesrZ   r[   r\   $sympy.tensor.array.array_derivativesr]   sympy.testing.pytestr^   r_   r`   ra   rb   rc   sympy.utilities.iterablesrd   re   importlib.metadatarf   rU  r  r  rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r"  r'  r.  r5  r=  rB  rQ  rb  rg  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r(  r+  r2  r9  rP  rV  r\  r^  rb  re  rk  rq  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  r  r!  r1  r4  rA  rH  rN  rT  rW  rZ  rh  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#  r(  r+  r9  r=  rK  rO  r[  ra  rc  re  rl  rq  rt  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r(  r*  r.  r<  rD  rF  rK  rM  rP  rR  rX  rZ  r_  rh  rj  rl  rn  rq  rz  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)  r5  r:  r>  rB  rH  rJ  rM  rP  rR  r[  rg  ri  rm  r   r{   ry   <module>rz     s     $
( 
( 
( 
( 
( 
( 
( 
( 
( 
( 
( 
( 
( 
( 
( 
( 
( 
( 
( - , , 5 C3 3 * O O @  8 &|_6KL<($&;< 7&P5M&, /";. 4'*'**#$" 
%$$'95
8O	'">HD@&21 (
)
1
567L^0(0>L,4BG#8 M,% 
+
!+
&9)XGT_JD?_*JZ_%' 6%;58GPy	8$)&&<<<<<K(d&K0O2dD+8P1&
:>7Mt6. 6 6* 8!"G&9P "-:& >*)  
.	*F!@.6G$1&3@E!P
1H%V&('$&4.L)2
 !&;6|"9O*4(nP!%IPZz.&" $<">JD-;-"8
/(1
(.3(?G4\p&(*&F$7:( 4)"*
Z "$ "$J7
1
L&#"	+	##/:	1	1"225(#3*9# $I< :;# <#9r{   