+
    i;A                        ^ RI Ht ^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
HtHtHt R tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R t$R t%R t&R t'R  t(R! t)R" t*R# t+R$ t,R% t-R& t.R' t/R(# ))    )raises)GROUND_TYPES)ZZQQ)DDM)DMShapeErrorDMNonInvertibleMatrixErrorDMDomainErrorDMBadInputErrorc                     \        ^ 4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      ..p Rp\        W\         4      pVP                  V8X  g   Q hVP                  ^8X  g   Q hVP                  ^8X  g   Q hVP
                  \         8X  g   Q h\        \        R 4       \        \        R 4       R# )r   c                  N    \        \        ^4      \        ^4      ..R\        4      # )   r   r   r   r        a/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/matrices/tests/test_ddm.py<lambda>test_DDM_init.<locals>.<lambda>   s    C"Q%A(8&"$Er   c                  d    \        \        ^4      .\        ^4      \        ^4      ..R\        4      # )   r   r   r   r   r   r   r      s$    C"Q%2a5"Q%.(A62$Nr   Nr      )r   r   shaperowscolsdomainr   r   )itemsr   ddms      r   test_DDM_initr       s    eRUBqE"RUBqE2a5$9:EE
eB
C9988q==88q==::
?EF
?NOr   c                  8  a  \        \        ^4      \        ^4      .\        ^4      \        ^4      ..R\        4      o S ^ ,          ^ ,          \        ^4      8X  g   Q hS ^ ,          ^,          \        ^4      8X  g   Q hS ^,          ^ ,          \        ^4      8X  g   Q hS ^,          ^,          \        ^4      8X  g   Q h\        \        V 3R l4       \        \        V 3R l4       \        R4      S ^ ,          ^ &   S ^ ,          ^ ,          \        R4      8X  g   Q hR# )r   c                  $   < S ^,          ^ ,          # r   r   r   s   r   r   %test_DDM_getsetitem.<locals>.<lambda>!       s1vayr   c                  $   < S ^ ,          ^,          # r   r   r$   s   r   r   r%   "   r&   r   Nr   )r   r   r   
IndexErrorr$   s   @r   test_DDM_getsetitemr+      s    
1r!u~1r!u~.
;Cq6!91q6!91q6!91q6!91
:()
:()2CF1Iq6!92r   c                  &   \        \        ^ 4      \        ^4      .\        ^4      \        ^4      ..R\        4      p \        R8X  d'   \        V 4      R8X  g   Q h\	        V 4      R8X  g   Q hR# \	        V 4      R8X  g   Q h\        V 4      R8X  g   Q hR# )r   gmpyz[[0, 1], [2, 3]]z5DDM([[mpz(0), mpz(1)], [mpz(2), mpz(3)]], (2, 2), ZZ)z!DDM([[0, 1], [2, 3]], (2, 2), ZZ)Nr   )r   r   r   strreprr$   s    r   test_DDM_strr0   (   s    
1r!u~1r!u~.
;Cv3x----CySSSSCy????3x----r   c                  R   \        ^ 4      \        ^4      .\        ^4      \        ^4      ..p \        V R\         4      p\        V R\         4      pW8H  RJ g   Q hW8H  RJ g   Q hW8H  RJ g   Q hW8H  RJ g   Q hW!8H  RJ g   Q hW8g  RJ g   Q hW8g  RJ g   Q hW8g  RJ g   Q hW8g  RJ g   Q hW!8g  RJ g   Q h\        \        ^ 4      \        ^4      .\        ^4      \        ^4      ..R\         4      p\        V R\        4      pW8H  RJ g   Q hW18H  RJ g   Q hW8g  RJ g   Q hW18g  RJ g   Q hR# )r   TFNr   )r   r   r   )r   ddm1ddm2ddm3s       r   test_DDM_eqr5   2   sY   eRU^beRU^,Eufb!Dufb!DLT!!!Me###Me###LT!!!LT!!!LU"""Md"""Md"""LU"""LU"""A1A1/<Dufb!DLU"""LU"""LT!!!LT!!!r   c                      \        \        ^4      \        ^4      ..R\        4      p V P                  \        4      V 8X  g   Q hV P                  \        4      pVP                  \        8X  g   Q hR# )r   Nr   r   )r   r   
convert_tor   r   )r   ddmqs     r   test_DDM_convert_tor:   L   sV    
1r!u~
+C>>"$$$>>"D;;"r   c                      \         P                  ! R\        4      p \        V 4      \        ^ 4      .^,          .^,          8X  g   Q hV P                  R8X  g   Q hV P
                  \        8X  g   Q hR# )r   Nr      )r   zerosr   listr   r   )ddmzs    r   test_DDM_zerosrA   S   sY    99VR D:2a5'A+****::;;"r   c                      \         P                  ! R\        4      p \        V 4      \        ^4      .^,          .^,          8X  g   Q hV P                  R8X  g   Q hV P
                  \        8X  g   Q hR# )r   Nr   )r   onesr   r?   r   r   )ddmones    r   test_DDM_onesrE   Y   sY    XXfb!F<RUGaK=1,,,,<<6!!!==Br   c                  B   \         P                  ! ^\        4      p R p\        V 4      \	        ^4       UUu. uF#  p\	        ^4       Uu. uF
  q1! W24      NK  	  upNK%  	  upp8X  g   Q hV P
                  R8X  g   Q hV P                  \        8X  g   Q hR# u upi u uppi )r   c                 :    W8X  d   \        ^4      # \        ^ 4      # r   )r   )ijs   &&r   r   test_DDM_eye.<locals>.<lambda>a   s    afRU/"Q%/r   Nr   r   )r   eyer   r?   ranger   r   )r@   frJ   rI   s       r   test_DDM_eyerP   _   s~    771b>D/A:uQxHx!E!H5Hq1Q7H5xHHHH::;;" 6Hs   B	BBBc                     \        \        ^4      .\        ^4      ..R\        4      p V P                  4       pW8H  RJ g   Q h\        R4      V ^ ,          ^ &   W8H  RJ g   Q h\        R4      V^ ,          ^ &   W8H  RJ g   Q hR# )r   TFNr   r   r)   )r   r   copy)r2   r3   s     r   test_DDM_copyrT   g   s~    A"Q%!62.D99;DLT!!!BDGAJLU"""BDGAJLT!!!r   c                     \        \        ^4      .\        ^4      ..R\        4      p \        \        ^4      \        ^4      ..R\        4      pV P                  4       V8X  g   Q h\        . R\        4      p\        . . .R\        4      pVP                  4       V8X  g   Q hVP                  4       V8X  g   Q h\        . R\        4      pVP                  4       V8X  g   Q hR# )r   NrR   r7   r   r   r   r   r   r   )r   r   	transpose)r   ddmTddm02ddm02Tddm0s        r   test_DDM_transposer^   q   s    
1wA &"
-CA1,D==?d"""FBE"b62&F??&&&&&&r62D>>t###r   c                  b  aa \        \        ^4      .\        ^4      ..R\        4      o\        \        ^4      .\        ^4      ..R\        4      p \        \        ^4      .\        ^4      ..R\        4      p\        \        ^4      .\        ^4      ..R\        4      oSV ,           SP                  V 4      u;8X  d	   V8X  g   Q h Q h\	        \
        V3R l4       \	        \        V3R l4       \	        \        V3R l4       \	        \        VV3R l4       \	        \        VV3R l4       R# )r   c                  J   < S \        \        ^4      ..R\        4      ,           # )   r   r   r   As   r   r   test_DDM_add.<locals>.<lambda>   s    S2a5'FB%?!?r   c                  (   < S \        ^4      ,           # rH   r   rc   s   r   r   re          a"Q%ir   c                  (   < \        ^4      S ,           # rH   rg   rc   s   r   r   re          beair   c                     < S S,           # Nr   rd   AQs   r   r   re      	    !b&r   c                     < SS ,           # rl   r   rm   s   r   r   re      	    "q&r   NrR   )r   r   r   addr   r   	TypeErrorr
   )BCrd   rn   s     @@r   test_DDM_addrv   }   s    beWr!ug+AbeWr!ug+AbeWr!ug+A	r!ug1w	,Bq5AEE!H!!!!!!
<?@
9'(
9'(
=.)
=.)r   c                  p  aaa \        \        ^4      .\        ^4      ..R\        4      o\        \        ^4      .\        ^4      ..R\        4      p \        \        R4      .\        R4      ..R\        4      p\        \        ^4      .\        ^4      ..R\        4      o\        \        ^4      ..R\        4      oSV ,
          SP                  V 4      u;8X  d	   V8X  g   Q h Q h\	        \
        V3R l4       \	        \
        V3R l4       \	        \        VV3R l4       \	        \        VV3R l4       \	        \        VV3R l4       \	        \        VV3R l4       \	        \        VV3R l4       \	        \        VV3R l4       \	        \        VV3R	 l4       \	        \        VV3R
 l4       R# )r   c                  (   < S \        ^4      ,
          # rH   rg   rc   s   r   r   test_DDM_sub.<locals>.<lambda>   rh   r   c                  (   < \        ^4      S ,
          # rH   rg   rc   s   r   r   ry      rj   r   c                     < S S,
          # rl   r   rd   Ds   r   r   ry      	    Qr   c                     < SS ,
          # rl   r   r|   s   r   r   ry      r~   r   c                  &   < S P                  S4      # rl   subr|   s   r   r   ry          qr   c                  &   < SP                  S 4      # rl   r   r|   s   r   r   ry      r   r   c                     < S S,
          # rl   r   rm   s   r   r   ry      ro   r   c                     < SS ,
          # rl   r   rm   s   r   r   ry      rq   r   c                  &   < S P                  S4      # rl   r   rm   s   r   r   ry      s    !%%)r   c                  &   < SP                  S 4      # rl   r   rm   s   r   r   ry      s    "&&)r   NrR   rb   )r   r   r   r   r   rs   r   r
   )rt   ru   rd   rn   r}   s     @@@r   test_DDM_subr      s$   beWr!ug+AbeWr!ug+AbfX2x &"-A	r!ug1w	,BbeWIvr"Aq5AEE!H!!!!!!
9'(
9'(
<'
<'
<)*
<)*
=.)
=.)
=+,
=+,r   c                  .   \        \        ^4      .\        ^4      ..R\        4      p \        \        R4      .\        R4      ..R\        4      pV ) V P                  4       u;8X  d	   V8X  g   Q h Q hV) VP                  4       u;8X  d	   V 8X  g   Q h Q hR# )r   NrR   r)   r   )r   r   neg)rd   Ans     r   test_DDM_negr      s    beWr!ug+A	r"vhB!62	.B2B3"&&(ar   c                  ,  a \        \        ^4      ..R\        4      o\        \        ^4      ..R\        4      p S\        ^4      ,          V 8X  g   Q h\        ^4      S,          V 8X  g   Q h\        \        V3R l4       \        \        V3R l4       R# )r   c                     < ^..S ,          # rH   r   rc   s   r   r   test_DDM_mul.<locals>.<lambda>   s    seair   c                     < S ^..,          # rH   r   rc   s   r   r   r      s    aA3%ir   Nrb   )r   r   r   rs   )A2rd   s    @r   test_DDM_mulr      sm    beWIvr"A	r!ugY	#Br!u9??a519??
9'(
9'(r   c                  ^  aa	a
aa \        \        ^4      .\        ^4      ..R
\        4      o\        \        ^4      \        ^4      ..R\        4      p \        \        ^4      \        ^4      .\        ^4      \        ^4      ..R\        4      p\        \        ^4      ..R\        4      pSV ,          SP                  V 4      u;8X  d	   V8X  g   Q h Q hV S,          V P                  S4      u;8X  d	   V8X  g   Q h Q h\        \        V3R l4       \        \        V3R l4       \        \        ^4      \        ^4      ..R\
        4      o	\        \        VV	3R l4       \        \        VV	3R l4       \        \        ^4      ..R\        4      o
SS
,          SP                  S
4      u;8X  d	   S8X  g   Q h Q h\        \        VV
3R l4       \        \        VV
3R l4       \        . R\        4      p\        . .^,          R\        4      o\        . .^,          R\        4      p\        . R\        4      o\        ^ .^,          .^,          R\        4      p\        ^ .^,          .^,          R\        4      p\        . R\        4      pW5,          VP                  V4      u;8X  d	   S8X  g   Q h Q hWT,          VP                  V4      u;8X  d	   S8X  g   Q h Q hWs,          VP                  V4      u;8X  d	   V8X  g   Q h Q hWG,          VP                  V4      u;8X  d	   V8X  g   Q h Q hWw,          VP                  V4      u;8X  d	   V8X  g   Q h Q hWC,          VP                  V4      u;8X  d	   V8X  g   Q h Q h\        \        VV3R l4       \        \        VV3R l4       R	# )r   c                     < S ^,          # rH   r   rc   s   r   r   !test_DDM_matmul.<locals>.<lambda>   s	    a!er   c                     < S ^^..,          # r   r   rc   s   r   r   r      s    aAq6(lr   c                     < S S,          # rl   r   rd   Bqs   r   r   r      ro   r   c                     < SS ,          # rl   r   r   s   r   r   r      rq   r   c                     < SS ,          # rl   r   rd   ru   s   r   r   r      r~   r   c                  &   < SP                  S 4      # rl   matmulr   s   r   r   r      s    !r   c                     < S S,          # rl   r   Z05Z40s   r   r   r      s	    sr   c                  &   < S P                  S4      # rl   r   r   s   r   r   r      s    Cr   NrR   r7   r   rb   r   r=   )r=   r   )ra   r   )r   ra   )r=   ra   )ra   r=   rX   )r   r   r   r   rs   r   r
   r   )rt   ABBAZ04Z50Z45Z54Z00rd   r   ru   r   r   s           @@@@@r   test_DDM_matmulr      s   beWr!ug+AbeRU^fb)A	r!ubenr!uben-vr	:B	r"vhZ	$Bq5AHHQK%2%%%%%q5AHHQK%2%%%%%
9m$
9*+	r!ubenvr	*B
=.)
=.)beWIvr"Aq5AHHQK$1$$$$$
<'
<,-
b&"
C
rd1ffb
!C
rd1ffb
!C
b&"
C
sQwi!mVR
(C
sQwi!mVR
(C
b&"
C9

3.3.....9

3.3.....9

3.3.....9

3.3.....9

3.3.....9

3.3.....
<*+
<01r   c                     \        \        ^4      \        ^4      \        ^4      ..R\        4      p \        \        ^4      \        ^4      ..R\        4      p\        \        ^4      ..R\        4      pV P                  V4      pVP                  R8X  g   Q hVP                  \        8X  g   Q hV\        \        ^4      \        ^4      \        ^4      \        ^4      \        ^4      ..R\        4      8X  g   Q hV P                  W4      pVP                  R8X  g   Q hVP                  \        8X  g   Q hV\        \        ^4      \        ^4      \        ^4      \        ^4      \        ^4      \        ^4      ..R\        4      8X  g   Q hR# )r   Nr   r   r7   rb   )r   ra   )r      )r   r   hstackr   r   rd   rt   ru   Ahs       r   test_DDM_hstackr      s/   beRUBqE"#VR0AbeRU^fb)AbeWIvr"A	
!B88v99??r!ubeRUBqE2a59:FBGGGG	
!B88v99??r!ubeRUBqE2a5"Q%@A62NNNNr   c                  .   \        \        ^4      .\        ^4      .\        ^4      ..R\        4      p \        \        ^4      .\        ^4      ..R\        4      p\        \        ^4      ..R\        4      pV P                  V4      pVP                  R8X  g   Q hVP                  \        8X  g   Q hV\        \        ^4      .\        ^4      .\        ^4      .\        ^4      .\        ^4      ..R\        4      8X  g   Q hV P                  W4      pVP                  R8X  g   Q hVP                  \        8X  g   Q hV\        \        ^4      .\        ^4      .\        ^4      .\        ^4      .\        ^4      .\        ^4      ..R\        4      8X  g   Q hR# )r   Nr   r   rR   rb   )ra   r   )r   r   )r   r   vstackr   r   r   s       r   test_DDM_vstackr      sE   beWr!ug1w'4AbeWr!ug+AbeWIvr"A	
!B88v99??r!ug1wA"Q%2a5'BFBOOOO	
!B88v99??r!ug1wA"Q%2a5'BqE7KVUWXXXXr   c                     \        \        ^4      \        ^4      \        ^4      ..R\        4      p \        \        ^4      \        ^4      \        ^4      ..R\        4      pV P                  R \        4      V8X  g   Q hR# )r   c                     ^V ,          # r#   r   )xs   &r   r   $test_DDM_applyfunc.<locals>.<lambda>   s    1r   Nr   )r   r   	applyfuncrd   rt   s     r   test_DDM_applyfuncr      sc    beRUBqE"#VR0AbeRUBqE"#VR0A;;}b)Q...r   c                  R   \        . R\        4      p V P                  4       V . 38X  g   Q h\        \        ^ 4      \        ^4      .\        ^4      \        ^4      ..R\        4      p \        \        ^4      \        ^ 4      .\        ^ 4      \        ^4      ..R\        4      p^ ^.pV P                  4       W38X  g   Q h\        \        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      ..R\        4      p \        \        ^4      \        ^ 4      \        R4      .\        ^ 4      \        ^4      \        ^4      ..R\        4      p^ ^.pV P                  4       W38X  g   Q h\        \        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      ..R\        4      p \        \        ^4      \        ^ 4      \        R4      .\        ^ 4      \        ^4      \        ^4      ..R\        4      p^ ^.pV P                  4       W38X  g   Q h\        \        ^4      \        ^ 4      .\        ^4      \        ^4      .\        ^ 4      \        ^4      ..R\        4      p \        \        ^4      \        ^ 4      .\        ^ 4      \        ^4      .\        ^ 4      \        ^ 4      ..R\        4      p^ ^.pV P                  4       W38X  g   Q h\        \        ^4      \        ^ 4      \        ^4      .\        ^4      \        ^ 4      \        ^4      ..R\        4      p \        \        ^4      \        ^ 4      \        ^ 4      .\        ^ 4      \        ^ 4      \        ^4      ..R\        4      p^ ^.pV P                  4       W38X  g   Q hR# )r   Nr   r   r   r)   r   r   )r   r   rref)rd   Arpivotss      r   test_DDM_rrefr      s   BA6682wbeRU^beRU^,fb9A	r!ubenr!uben-vr	:BVF668|###beRUBqE"RUBqE2a5$9:FBGA	r!ubeRV$r!ubeRU&;<fb	IBVF668|###beRUBqE"RUBqE2a5$9:FBGA	r!ubeRV$r!ubeRU&;<fb	IBVF668|###beRU^beRU^beRU^<fbIA	r!ubenr!ubenr!uben=vr	JBVF668|###beRUBqE"RUBqE2a5$9:FBGA	r!ubeRU#beRUBqE%:;VR	HBVF668|###r   c                      \        \        ^4      \        ^4      .\        ^4      \        ^4      ..R\        4      p \        \        R4      \        ^4      ..R\        4      p^.pV P                  4       W38X  g   Q hR# )r   Nr   r)   r7   )r   r   	nullspace)rd   Anull	nonpivotss      r   test_DDM_nullspacer     sh    beRU^beRU^,fb9A"R&"Q%!62.EI;;=U....r   c                      \        \        ^4      \        ^ 4      ..R\        4      p V P                  4       \         P                  ! R\        4      8X  g   Q hR# )r   Nr7   rb   )r   r   
particularr>   rc   s    r   test_DDM_particularr   &  s>    beRU^fb)A<<>SYYvr2222r   c            	      4  a  \        . R\        4      o S P                  4       \        ^4      8X  g   Q h\        \        ^4      ..R\        4      o S P                  4       \        ^4      8X  g   Q h\        \        ^4      \        ^4      .\        ^4      \        ^4      ..R\        4      o S P                  4       \        R4      8X  g   Q h\        \        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      ..R\        4      o S P                  4       \        ^ 4      8X  g   Q h\        \        ^^4      \        ^^4      .\        ^^4      \        ^^4      ..R\        4      o S P                  4       \        R	^4      8X  g   Q h\        \        ^4      .\        ^4      ..R
\        4      o \	        \
        V 3R l4       \        . R\        4      o \	        \
        V 3R l4       R# )r   c                  $   < S P                  4       # rl   detrc   s   r   r   test_DDM_det.<locals>.<lambda>B      r   c                  $   < S P                  4       # rl   r   rc   s   r   r   r   F  r   r   NrX   rb   r   r   rL   r)   rR   r   r   )r   r   r   r   r   r   rc   s   @r   test_DDM_detr   +  s   BA557be 	beWIvr"A557be 	beRU^beRU^,fb9A557bf 	beRUBqE"RUBqE2a5$9BqE2a5"Q%;PQSY[]^A557be 	bAh1a!Bq!HbAh#78&"EA557bRj    	beWr!ug+A
<) 	BA
<)r   c                    a \        \        ^^4      \        ^^4      .\        ^^4      \        ^^4      ..R\        4      o\        \        R^4      \        ^^4      .\        ^^4      \        R^4      ..R\        4      p SP                  4       V 8X  g   Q h\        \        ^4      \        ^4      ..R\        4      o\        \        V3R l4       \        \        ^4      ..R	\
        4      o\        \        V3R l4       \        . R
\        4      oSP                  4       S8X  g   Q h\        \        ^4      \        ^4      .\        ^4      \        ^4      ..R\        4      o\        \        V3R l4       R# )r   c                  $   < S P                  4       # rl   invrc   s   r   r   test_DDM_inv.<locals>.<lambda>O  r   r   c                  $   < S P                  4       # rl   r   rc   s   r   r   r   R  s    !%%'r   c                  $   < S P                  4       # rl   r   rc   s   r   r   r   X  s    quuwr   Nr   r   r)   r7   rb   rX   )r   r   r   r   r   r   r
   r	   )Ainvrd   s    @r   test_DDM_invr   I  s   bAh1a!Bq!HbAh#78&"EABBq!H%1a"R)'<=vrJD557d??beRU^fb)A
<)beWIvr"A
=/*BA557a<<beRU^beRU^,fb9A
%7r   c                     \        \        ^4      \        ^4      .\        ^4      \        ^4      ..R\        4      p V P                  4       w  rpV\        \        ^4      \        ^ 4      .\        ^4      \        ^4      ..R\        4      8X  g   Q hV\        \        ^4      \        ^4      .\        ^ 4      \        R4      ..R\        4      8X  g   Q hV. 8X  g   Q h. RO. RO. RO. RO.p . RO. R	O. R
O. RO.p. RO. RO. RO. RO.pR p\        V! V \        4      R\        4      p \        V! V\        4      R\        4      p\        V! V\        4      R\        4      pV P                  4       w  rpW8X  g   Q hW%8X  g   Q hV. 8X  g   Q hR# )r   c           
      h    V  UUu. uF  q" Uu. uF
  q1! V4      NK  	  upNK  	  upp# u upi u uppi rl   r   )r   domrowes   &&  r   r   test_DDM_lu.<locals>.<lambda>e  s,    F# 5AQ 5F 5Fs   .)..Nr   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   lu)rd   LUswapsLexpUexpto_doms          r   test_DDM_lur   [  sL   beRU^beRU^,fb9A$$&KA%beRU^beRU^4fbAAAAbeRU^beRV_5vrBBBBB;;	|\<@A,lCD,lCDFFF1bM62&AvdB,DvdB,D$$&KA%9999B;;r   c                  \  aaaa \        \        ^4      \        ^4      .\        ^4      \        ^4      ..R\        4      o\        \        ^4      .\        ^4      ..R\        4      o\        \        ^ 4      .\        ^^4      ..R\        4      p SP                  S4      V 8X  g   Q h\        \        ^ 4      \        ^4      .\        ^4      \        ^4      ..R\        4      oSP                  S4      V 8X  g   Q h\        \        ^4      \        ^4      .\        ^4      \        ^4      .\        ^4      \        ^4      ..R	\        4      o\        \        ^4      .\        ^4      .\        ^4      ..R
\        4      oSP                  S4      V 8X  g   Q h\        \        ^4      .\        ^4      .\        ^4      ..R
\        4      o\        \        VV3R l4       \        \        ^4      \        ^4      .\        ^4      \        ^4      ..R\        4      o\        \        ^4      .\        ^4      ..R\        4      o\        \        VV3R l4       \        \        ^4      \        ^4      ..R\        4      o\        \        ^4      ..R\        4      o\        \
        VV3R l4       \        \        ^4      .\        ^4      ..R\        4      o\        \        VV3R l4       \        \        ^4      .\        ^4      .\        ^4      ..R
\        4      o\        \        VV3R l4       R# )r   c                  &   < S P                  S4      # rl   lu_solverd   bs   r   r   #test_DDM_lu_solve.<locals>.<lambda>      qzz!}r   c                  &   < S P                  S4      # rl   r   r   s   r   r   r     r   r   c                  &   < S P                  S4      # rl   r   r   s   r   r   r     s    

1r   c                  &   < S P                  S4      # rl   r   )rd   bzs   r   r   r     s    !**R.r   c                  &   < S P                  S4      # rl   r   )rd   b3s   r   r   r     s    Br   Nr   rR   r   r   r7   rb   )	r   r   r   r   r	   NotImplementedErrorr   r
   r   )r   rd   r   r   r   s    @@@@r   test_DDM_lu_solver   o  sm   beRU^beRU^,fb9AbeWr!ug+AbeWr!Qxj!62.A::a=A 	beRU^beRU^,fb9A::a=A 	beRU^beRU^beRU^<fbIAbeWr!ug1w'4A::a=A 	beWr!ug1w'4A
%'<= 	beRU^beRU^,fb9AbeWr!ug+A
%'<= 	beRU^fb)AbeWIvr"A
 56 
r!ug1w	,B
=01 
r!ug1wA(&"	5B
</0r   c            	      >  a \        . R\        4      oSP                  4       \        ^4      .8X  g   Q h\        \        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^	4      ..R\        4      o\        ^4      \        R4      \        R4      \        ^ 4      .p SP                  4       V 8X  g   Q h\        \        ^4      \        ^4      ..R\        4      o\        \        V3R l4       R# )r   c                  $   < S P                  4       # rl   )charpolyrc   s   r   r   #test_DDM_charpoly.<locals>.<lambda>  s    r   NrX   rL   iir7   )r   r   r  r   r   )Avecrd   s    @r   test_DDM_charpolyr    s    BA::<BqE7"""	A1r!u	A1r!u	A1r!u !'	,A qE2c7BsGRU+D::<4beRU^fb)A
<-.r   c            	        a  \        \        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^	4      ..R\        4      o S P                  ^^4      \        ^4      8X  g   Q hS P                  ^R4      \        ^4      8X  g   Q hS P                  RR4      \        ^4      8X  g   Q h\        \        V 3R l4       R# )r   c                  (   < S P                  ^^4      # r   )getitemdms   r   r   "test_DDM_getitem.<locals>.<lambda>  s    rzz!Q/r   NrL   r   r)   )r   r   r	  r   r*   r
  s   @r   test_DDM_getitemr    s    		A1r!u	A1r!u	A1r!u !'
,B
 ::ar!u$$$::a1%%%::b"A&&&
:/0r   c                    a  \         P                  ! R\        4      o S P                  ^ ^ ^4       S P                  ^R^4       S P                  RR^4       S \         P                  ! ^\        4      8X  g   Q h\        \        V 3R l4       R# )r   c                  *   < S P                  ^^^ 4      # r   )setitemr
  s   r   r   "test_DDM_setitem.<locals>.<lambda>  s    rzz!Q2r   NrL   r   r)   )r   r>   r   r  rM   r   r*   r
  s   @r   test_DDM_setitemr    sf    	62	BJJq!QJJq"aJJr2qB
:23r   c            	      *   \        \        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^	4      ..R\        4      p V P                  \        ^ ^4      \        ^ ^4      4      V 8X  g   Q hV P                  \        ^^4      \        R4      4      \        ^.^..R\        4      8X  g   Q hV P                  \        ^^4      \        R4      4      \        ^.^..R\        4      8X  g   Q hV P                  \        ^^4      \        R4      4      \        \        ^4      ..R\        4      8X  g   Q hV P                  \        ^ ^4      \        R4      4      \        ^.^..R\        4      8X  g   Q hV P                  \        R4      \        R4      4      \        ^^.^^..R\        4      8X  g   Q hV P                  \        ^4      \        ^^4      4      \        . . .R\        4      8X  g   Q hV P                  \        ^^4      \        ^4      4      \        . R	\        4      8X  g   Q hV P                  \        ^^4      \        ^^4      4      \        . R
\        4      8X  g   Q hR# )r   NrL   r   rR   rb   r)   r   rW   rV   rX   )r   r   extract_sliceslicer
  s    r   test_DDM_extract_slicer    s%   		A1r!u	A1r!u	A1r!u !'
,B
 E!QKq!5;;;E!QKr3sQC!:vr7RRRRE!QKr3sQC!:vr7RRRRE!QKr3sRUG9fb7QQQQE!QKr3sQC!:vr7RRRRE"IuRy1S1a&1a&9I6SU5VVVVE!HeAqk2c2r(FB6OOOOE!QKq2c"fb6IIIIE!QKq!5R9LLLLr   c            	        a \        \        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^	4      ..R\        4      p \        \        ^4      \        ^4      .\        ^4      \        ^4      ..R\        4      oV P                  ^^ .^^ .4      S8X  g   Q hV P                  R^ .R	^ .4      S8X  g   Q hV P                  . . 4      \         P                  ! R
\        4      8X  g   Q hV P                  ^.. 4      \         P                  ! R\        4      8X  g   Q hV P                  . ^.4      \         P                  ! R\        4      8X  g   Q h\	        \
        V3R l4       \	        \
        V3R l4       \	        \
        V3R l4       \	        \
        V3R l4       R# )r   c                  ,   < S P                  ^.^ .4      # r#   extractdm2s   r   r   "test_DDM_extract.<locals>.<lambda>      s{{A34r   c                  ,   < S P                  ^ .^.4      # r(   r  r  s   r   r   r    r  r   c                  ,   < S P                  R.^ .4      # )r   r  r  r  s   r   r   r    s    s{{B4!5r   c                  ,   < S P                  ^ .R.4      # )r   r  r  r  s   r   r   r    s    s{{A35r   NrL   r   r   r)   rX   )r   r   r   )r   r   r  r>   r   r*   )dm1r  s    @r   test_DDM_extractr$    so   
	A1r!u	A1r!u	A1r!u !',C 	A1	A1%C ;;1v1v&#---;;AwQ(C///;;r2#))FB"7777;;sB399VR#8888;;rA3399VR#8888
:45
:45
:56
:56r   c                      \        \        ^4      \        ^4      .\        ^4      \        ^4      ..R\        4      p V P                  4       \        ^4      \        ^4      \        ^4      \        ^4      .8X  g   Q hR# )r   Nr   )r   r   flatr
  s    r   test_DDM_flatr'    sc    		A1	A1
%B 779A1r!ube4444r   c                  
   \        \        ^4      \        ^ 4      .\        ^ 4      \        ^ 4      ..R\        4      p \         P                  ! R\        4      pV P                  4       RJ g   Q hVP                  4       RJ g   Q hR# )r   FTNr   r7   )r   r   r>   is_zero_matrix)rd   Azeros     r   test_DDM_is_zero_matrixr+    sk    beRU^beRU^,fb9AIIfb!E&&&!T)))r   c            
         \        \        ^4      \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^ 4      \        ^4      \        ^	4      ..R\        4      p \        \        ^4      \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^4      \        ^4      \        ^	4      ..R\        4      pV P                  4       RJ g   Q hVP                  4       RJ g   Q h\        \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^4      \        ^4      .\        ^ 4      \        ^ 4      \        ^4      .\        ^ 4      \        ^ 4      \        ^ 4      ..R\        4      p \        \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^4      \        ^4      .\        ^ 4      \        ^ 4      \        ^4      .\        ^ 4      \        ^ 4      \        ^
4      ..R\        4      pV P                  4       RJ g   Q hVP                  4       RJ g   Q hR# r   TFNr<   )r=   r   )r   r   is_upperr   s     r   test_DDM_is_upperr/    s   	A1r!ube$	A1r!ube$	A1r!ube$ r		A
 		A1r!ube$	A1r!ube$	A1r!ube$ r		A
 ::<4::<5    		A1r!u	A1r!u	A1r!u	A1r!u	
 r	A 		A1r!u	A1r!u	A1r!u	A1r"v	
 r	A ::<4::<5   r   c            
         \        \        ^4      \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^ 4      \        ^4      \        ^	4      ..R\        4      P                  4       p \        \        ^4      \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^4      \        ^4      \        ^	4      ..R\        4      P                  4       pV P                  4       RJ g   Q hVP                  4       RJ g   Q h\        \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^4      \        ^4      .\        ^ 4      \        ^ 4      \        ^4      .\        ^ 4      \        ^ 4      \        ^ 4      ..R\        4      P                  4       p \        \        ^4      \        ^4      \        ^4      .\        ^ 4      \        ^4      \        ^4      .\        ^ 4      \        ^ 4      \        ^4      .\        ^ 4      \        ^ 4      \        ^
4      ..R\        4      P                  4       pV P                  4       RJ g   Q hVP                  4       RJ g   Q hR# r-  )r   r   rY   is_lowerr   s     r   test_DDM_is_lowerr2    s<   	A1r!ube$	A1r!ube$	A1r!ube$ r		 9;	 
 		A1r!ube$	A1r!ube$	A1r!ube$ r		 9;	 
 ::<4::<5    		A1r!u	A1r!u	A1r!u	A1r!u	
 r	
 9;  		A1r!u	A1r!u	A1r!u	A1r"v	
 r	
 9;  ::<4::<5   r   N)0sympy.testing.pytestr   sympy.external.gmpyr   sympy.polysr   r   sympy.polys.matrices.ddmr   sympy.polys.matrices.exceptionsr   r	   r
   r   r    r+   r0   r5   r:   rA   rE   rP   rT   r^   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r$  r'  r+  r/  r2  r   r   r   <module>r8     s    ' ,  ( 

P."4"	$*-( )(2VO Y /
$>/3
*<8$($1N/
14M$7*5*!@!r   