+
    iI4                         ^ RI Ht ^ RIHt ^ RIHt ^ RIHtHtH	t	 ^ RIH
t
 ^ RI Ht ^ RIHt ^ RIHt ^ R	I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# )    )I)symbols)raises)Matrixzeroseye)Symbol)Rational)sqrt)simplify)xc                    a \        ^4      o\        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R	 l4       \        \        V3R
 l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       SP                  R^ ^4      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^^4      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^^R7      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^^R7      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^4      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^R7      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^R7      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^^4      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^^R7      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^^R7      \	        . RO. RO. RO.4      8X  g   Q h\	        ^^^ .^,          4      p V P                  R^^4      \	        ^^^ .^,          4      8X  g   Q hV P                  R^ ^4      \	        ^^^ .^,          4      8X  g   Q hV P                  R^ ^^4      \	        ^^^ .^,          4      8X  g   Q hR# )   c                  &   < S P                  R 4      # abcelementary_row_opes   b/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/matrices/tests/test_reductions.py<lambda>test_row_op.<locals>.<lambda>       q2259    c                  $   < S P                  4       # Nr   r   s   r   r   r          q224r   c                  ,   < S P                  R ^^R7      # n->knrowkr   r   s   r   r   r          q227Q2Gr   c                  ,   < S P                  R R^R7      # )r!   r"   r   r   s   r   r   r          q227a2Hr   c                  ,   < S P                  R ^^R7      # n<->mrow1row2r   r   s   r   r   r          q2272Kr   c                  ,   < S P                  R ^^R7      # r*   r   r   s   r   r   r      r/   r   c                  ,   < S P                  R R^R7      # r+   r,   r'   r   r   s   r   r   r          q227!2Lr   c                  ,   < S P                  R ^RR7      # r2   r   r   s   r   r   r          q2272Lr   c                  .   < S P                  R ^^^R7      # n->n+kmr-   r.   r$   r   r   s   r   r   r          q22911PQ2Rr   c                  .   < S P                  R ^^^R7      # r7   r   r   s   r   r   r      r:   r   c                  .   < S P                  R R^^R7      # r8   r9   r'   r   r   s   r   r   r          q2292AQR2Sr   c                  .   < S P                  R ^R^R7      # r=   r   r   s   r   r   r          q22912QR2Sr   c                  .   < S P                  R ^^^R7      # r7   r   r   s   r   r   r      r:   r   r!   r"   )r-   r$   r+   r,   )r#   r.   r8   )r#   r$   r.   )r-   r$   r.   N   r   r   r      r   r   r   rE   rE   r   r   r   rC   r   )rE   rC   r   )r   r   
ValueErrorr   r   ar   s    @r   test_row_oprL         AA
:9:
:45
:GH
:HI
:KL
:KL
:LM
:LM
:RS
:RS
:ST
:ST
:RS w1-Iy8Y1ZZZZw1-Iy8Y1ZZZZwA3vy)U^>_7````wQ!4	9V_?`8aaaaw1-Iy8Y1ZZZZwQQ769iYbBc;ddddwAA6&)YXaAb:ccccy!Q2fiT]=^6____ya11=T]_hHiAjjjjyqAA>&)U^`iIjBkkkk 	q!aSUAw1-1qc!e1DDDDw1-1qc!e1DDDDy!Q2fQA3q56IIIIr   c                    a \        ^4      o\        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R	 l4       \        \        V3R
 l4       \        \        V3R l4       \        \        V3R l4       \        \        V3R l4       SP                  R^ ^4      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^^4      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^^R7      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^^R7      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^4      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^R7      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^R7      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^^4      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^^R7      \	        . RO. RO. RO.4      8X  g   Q hSP                  R^ ^^R7      \	        . RO. RO. RO.4      8X  g   Q h\	        ^^^ .^,          4      p V P                  R^^4      \	        ^^^ .^,          4      8X  g   Q hV P                  R^ ^4      \	        ^^^ .^,          4      8X  g   Q hV P                  R^ ^^4      \	        ^^^ .^,          4      8X  g   Q hR# )r   c                  &   < S P                  R 4      # r   elementary_col_opr   s   r   r   test_col_op.<locals>.<lambda>4   r   r   c                  $   < S P                  4       # r   rP   r   s   r   r   rR   5   r   r   c                  ,   < S P                  R ^^R7      # )r!   colr$   rP   r   s   r   r   rR   6   r%   r   c                  ,   < S P                  R R^R7      # )r!   rU   r'   rP   r   s   r   r   rR   7   r(   r   c                  ,   < S P                  R ^^R7      # r+   col1col2rP   r   s   r   r   rR   8   r/   r   c                  ,   < S P                  R ^^R7      # rY   rP   r   s   r   r   rR   9   r/   r   c                  ,   < S P                  R R^R7      # r+   rZ   r'   rP   r   s   r   r   rR   :   r3   r   c                  ,   < S P                  R ^RR7      # r_   rP   r   s   r   r   rR   ;   r5   r   c                  .   < S P                  R ^^^R7      # r8   r[   r\   r$   rP   r   s   r   r   rR   <   r:   r   c                  .   < S P                  R ^^^R7      # rb   rP   r   s   r   r   rR   =   r:   r   c                  .   < S P                  R R^^R7      # r8   rc   r'   rP   r   s   r   r   rR   >   r>   r   c                  .   < S P                  R ^R^R7      # rf   rP   r   s   r   r   rR   ?   r@   r   c                  .   < S P                  R ^^^R7      # rb   rP   r   s   r   r   rR   @   r:   r   r!   rU   )r[   r$   r+   rZ   )rV   r\   r8   )rV   r$   r\   )r[   r$   r\   NrB   rD   rF   rG   rH   )rC   rE   r   )r   r   rI   rQ   r   rJ   s    @r   test_col_opri   1   rM   r   c                  :   \        ^4      p \        ^4      pV P                  '       g   Q hVP                  '       g   Q h\        ^ ^ . 4      pVP                  '       g   Q h\        ^^. RO4      pVP                  '       g   Q h\        ^^. RO4      pVP                  '       d   Q h\	        R4      p\        ^^V^ ^ .4      pVP                  '       g   Q h\        ^^W3^ .4      pVP                  '       d   Q h\        ^^. RO4      pVP                  '       d   Q hR# )r   r   N)r      rE   r   r      )r   r   rl   r   rk   rE   	r   r   r   rE   rk   r   r   r   r   )r   r   
is_echelonr   r	   )zroidentrK   r   s       r   test_is_echelonrq   U   s    
(CFE>>>>q!RA<<<<q!'(A<<<<q!'(A|||sAq!aAYA<<<<q!aAYA|||q!01A||||r   c                  j  a \        ^4      p \        ^4      pV P                  4       V 8X  g   Q hVP                  4       V8X  g   Q h\        ^ ^ . 4      p V P                  4       V 8X  g   Q h\        ^^^.4      p V P                  4       V 8X  g   Q hV3R lp\        ^^. RO4      p \        ^.R.^..4      .p\	        V P
                  4       Uu. uF  q@VR3,          NK  	  ppV P                  4       oSP                  '       g   Q hV! WV4       \        ^^. RO4      p . p\	        V P
                  4       Uu. uF  q@VR3,          NK  	  ppV P                  4       oSP                  '       g   Q hV! WV4       \        ^^. RO4      p \        \        R^4      .^.^ ..4      \        \        R	^4      .^ .^..4      .p\	        V P
                  4       Uu. uF  q@VR3,          NK  	  ppV P                  4       oSP                  '       g   Q hV! WV4       \        ^^. R
O4      p \        ^ .R	.^..4      .p\	        V P
                  4       Uu. uF  q@VR3,          NK  	  ppV P                  4       oSP                  '       g   Q hV! WV4       \        ^^. RO4      p \        ^.^ .^ ..4      \        ^ .R.^..4      .p\	        V P
                  4       Uu. uF  q@VR3,          NK  	  ppV P                  4       oSP                  '       g   Q hV! WV4       \        ^^. RO4      p \        R.^.^ ..4      .p\	        V P
                  4       Uu. uF  q@VR3,          NK  	  ppV P                  4       oSP                  '       g   Q hV! WV4       R# u upi u upi u upi u upi u upi u upi )r   c                   < V FM  p\         ;QJ d#    R  SV,           4       F  '       d   K   RM	  RM! R  SV,           4       4      '       d   KM  Q h	  V F  p\         ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   K?  \         ;QJ d1    R SVP                  4       ,           4       F  '       d   K   RM&	  RM"! R SVP                  4       ,           4       4      '       g   K  Q h	  R# )c              3   8   "   T F  qP                   x  K  	  R # 5ir   is_zero.0ts   & r   	<genexpr>Ctest_echelon_form.<locals>.verify_row_null_space.<locals>.<genexpr>   s     6+Qyy+   FTc              3   8   "   T F  qP                   x  K  	  R # 5ir   ru   rw   s   & r   rz   r{      s     ,!Qyy!r|   c              3   8   "   T F  qP                   x  K  	  R # 5ir   ru   rw   s   & r   rz   r{      s     J2IQyy2Ir|   N)all	transpose)matrowsnullsv	a_echelons   &&& r   verify_row_null_space0test_echelon_form.<locals>.verify_row_null_space   s    A36)A+63336)A+66666 A3,!,333,!,,,3J)AKKM2IJ333J)AKKM2IJJJJJ r   NNNN	rE   rk   r      rC   rl         	   )	rE   rk   r   r   rC   rl   r   r   r   )	rk   rE   r   r   r   r   rk   rE   r   )	rk   rE   r   r   r   r   rE   rE   r   )	r   r   r   r   rk   rk   r   rE   rE   )rk   rk   r   r   r   r   )r   r   echelon_formr   ranger   rn   r
   )rK   r   r   r   ir   r   s         @r   test_echelon_formr   p   s   
 	aAAA >>q   >>q   q!RA>>q   q!aSA>>q   K 	q!01ATTT  E #166]+]adGG]D+ I!5) 	q!01AE"166]+]adGG]D+ I!5)q!01Ar1oVV  r1oVV 	E #166]+]adGG]D+ I!5) 	q!01AVVV  E #166]+]adGG]D+ I!5)q!01ASSS  TTT 	E #166]+]adGG]D+ I!5)q!'(ATSS  E #166]+]adGG]D+ I!5)y , , , , , ,s$   N7NN!N&N+N0c                  @   \        ^ ^ . 4      p V P                  RR7      V 8X  g   Q h\        ^^^.4      p \        ^^^.4      pV P                  RR7      VP                  RR7      u;8X  d	   V 8X  g   Q h Q h\        ^^. RO4      pVP                  RR7      \        ^.^ .^ ..4      8X  g   Q h\        ^^. RO4      pVP                  RR7      \        . RO.4      8X  g   Q h\        ^^. RO4      pVP                  RR7      \        . RO. RO. R	O.4      8X  g   Q h\        ^^. R
O4      p\        ^^. RO4      p\        ^^. RO4      p\        ^^. RO4      pVP                  RR7      VP                  RR7      u;8X  d9   VP                  RR7      u;8X  d!   VP                  RR7      u;8X  d	   V8X  g   Q h Q h\        ^4      p \        ^4      p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.4      pVP                  4       w  rgV\        . RO. RO. RO. RO.4      8X  g   Q hVR8X  g   Q h\        \	        ^^4      \	        ^^4      ^^.. RO. RO. RO.4      pVP                  RR7      \        ^^ ^ \	        R^4      .^ ^^ \	        R^4      .^ ^ ^\	        ^^4      .. RO.4      8X  g   Q h\        R4      p\        ^^V^^\        V4      V^.4      p\        VP                  RR7      ^^ \        V4      V) ^,           ,          V\	        ^^4      ,          ) V,           ,          ^ ^^\        V4      V,           ^,           ,          .4       F(  w  r\        W,
          4      P                  '       d   K(  Q h	  R# )r   F)pivotsr   N)rE   rk   r   r   )rE   r   r   r   rE   rk   )r   r   r   )	rE   rk   r   rE   rk   r   rE   rk   r   )	rE   rk   r   r   r   r   r   r   r   rm   )	r   r   r   r   r   r   rE   rk   r   r'   )r   r   rE   rk   rk   r'   r   )r   rC   rk   rk   rE   irC   )r   r   r   r   r   r   r'   )r   rC   r   r   r   rE   r   )rE   r'   r   r   rE   rE   r   )r   r   rE   r   r   r   rE   )r   r   r   rE   rE   r   rE   )r   r   r   r   r   r   r   )r   rk   r   )r   rC   rl   r   )r   r   
      )            ir   r   r   r   )
r   rrefr   r   r
   r	   r   zipr   rv   )r   rK   bcdzr   pivot_offsetsr   r   js              r   	test_rrefr      s   q!RA6661$$$q!aSAq!aSA6661666#7<1<<<<<q!YA6666A3aS/#::::q!YA66669+#6666q!01A6666%/%/%/+1 $2 2 2 2
 	q!01Aq!01Aq!01Aq!01A666FF%F &FF%F & FF%F & %&& & & & &
 	AAaA6661$$$6661$$$''''	) 	*A
 C&----	/ 0 0 0 0
 I%%%!R8Aq>aA>0002 	3A 6666*+Q8C3E)F*+QHR4E)F*+Q8C3E)F);	+= $> > > > 	sAq!aAtAw1-.AAFF%F(47QBF#a!Q&7%7!%;<1aa1q)+, &&&&&,r   c                  >   \        R 4      w  rr#\        ^ ^ .^ ^ .^^.^^..4      p\        WW#.4      pVP                  V4      \        ^^ .^ ^.^ ^ .^ ^ ..4      \        RV,          V,           .^V,          ^,          V^,          ,
          .V .V..4      38X  g   Q hR# )za b c dNr   )r   r   rref_rhs)rK   r   r   r   ABs         r   test_rref_rhsr     s    #JA!AAAA/0Aa|A::a=VFFFF	%  
1qMqSUQqS[MMM	 	   r   c            	        a \        . RO. RO. RO. RO. RO. RO.4      oSP                  R^^R7      p SP                  R^^RR7      pSP                  R^^R7      pV R,          \        . RO.4      8X  g   Q hVR,          \        . RO.4      8X  g   Q hVR,          \        . RO.4      8X  g   Q h\        \        V3R l4       \        \        V3R l4       \        \        V3R	 l4       R
# )r   r+   r,   r8   r9   r!   r"   c                  ,   < S P                  R ^^R7      # r*   r   Cs   r   r   "test_issue_17827.<locals>.<lambda>0  r/   r   c                  ,   < S P                  R ^^R7      # r    r   r   s   r   r   r   1  r%   r   c                  .   < S P                  R R^^R7      # )r8   r9   r   r   r   s   r   r   r   2  r>   r   N)r   r   r   rE   )r   r   r   r   )r   rk   rE   r   )rk   r   r   r   )r   r   r   r'   )r   r   r   rl   )rC   r   )r   r   r   r   )      r   r   )r   r   r   rI   )DEFr   s      @r   test_issue_17827r     s     	A 	
G!!4A	IAA<A	Ga0AT7fl^,,-,T7fm_--.-T7fo.//0/
:KL
:GH
:STr   c                  "   \        ^^.\        ^^\        ,          ,
          ..4      p V P                  4       ^8X  g   Q h\        ^^\        ^^
4      4      pVP                  4       ^8X  g   Q h\	        ^4      pVP                  4       ^ 8X  g   Q hR# )rE   N)r   r   rankr   r   )mnps      r   	test_rankr   4  st    AA!G%&A668q==q!U1b\"A668q==aA668q==r   c                  l   \        R 4      w  rr#rErgrr\        WW
,          W,          ^ .W#W*,          W:,          ^ .WEWJ,          WZ,          ^.WgWj,          Wz,          ^.W^V,          V,          W,          ,
          ^V	,          V,          W,          ,
          ^ ..4      pVP                  4       ^8X  g   Q hR# )z/a_x a_y b_x b_y c_x c_y d_x d_y e_x e_y t_0 t_1N)r   r   r   )axaybxbycxcydxdyexeyt0t1Ms                r   test_issue_11434r   <  s    AB 3BBBBBBq)q)q)q)2b25!B$r'BE/1=	? 	@A
 668q==r   c            
          \        R 4      w  r\        RV ,          ^^ ^ .^V ,          RV ,          ^,
          ^^ .^ ^V ,          RV ,          V,
          ^,
          ^.^ ^ W,           R..4      p\        ^^ ^ ^V ^,          V) V ,
          ,          ,          .^ ^^ ^W) V ,
          ,          ,          .^ ^ ^^V) V ,
          ,          .. RO.4      pRpVP                  4       w  rV\        W5,
          4      \	        VP
                  !  8X  g   Q hWd8X  g   Q hR# )z
nu, lambdaNr   r   r   r   r   )r   r   r   r   r   shape)nulambr   expected_reducedexpected_pivotsreducedr   s          r   test_rank_regression_from_sor   F  s    |$HBBA:B$2	A:QrTBrET>A#5:BIr:< 	=A 1aBED52:,>)?@ !1aAr52:,?@ !1aTEBJ@@B C  OffhOG$./5!''?BBB$$$r   c                  *   \        . RO. RO. RO. RO.4      p V \         P                  ! ^4      \        ,          ,
          pVP                  4       ^8X  g   Q hV^,          P                  4       ^8X  g   Q hV^,          P                  4       ^8X  g   Q hR# )rE   N)rE   rE   rE   r   )r   r   r   r   )r   r   r   r   )r   r   rk   rE   )r   r   r   r   )r   r   s     r   test_issue_15872r   Z  sn    o~|LMA	FJJqMAA668q==qD;;=AqD;;=Ar   N)sympy.core.numbersr   sympy.core.symbolr   sympy.testing.pytestr   sympy.matricesr   r   r   r	   r
   (sympy.functions.elementary.miscellaneousr   sympy.simplify.simplifyr   	sympy.abcr   rL   ri   rq   r   r   r   r   r   r   r   r    r   r   <module>r      sb      % ' - - $ ' 9 , !JH!JH6\*~>'BU*%(r   