
    Og~e              #       R   d dl mZmZmZmZmZmZmZmZ d dl	m
Z
mZ d dlmZmZ d dlmZ d dlmZmZmZ d dlZ ed      \  ZZZZ e
g dg d	g d
g dg dg dg dg dg dg dg dge      Zeddz   ej                  de      z  z   Zg d e
g dge       e
g dge       ed      fd eg de       eg de       ed      fd e
ddgddgge       e
dd gd dgge       ed      fd e
dd gddgge       e
dd gd dgge       ed      fd  e
d dgddgge       e
dd gd dgge       ed      fd! e
g dg d"g d#ge       e
g d$g d%g d&ge       ed      fd' e
g d&g d&g d(ge       e
g d(g d&g d&ge       ed      fd) e
g d&g d&g d&ge       e
g d&g d&g d&ge       ed      fd* e
g d+g d,g d&ge       e
g d+g d-g d&ge       ed      fd. e
g d/g d,g d&ge       e
g d+g d-g d&ge       ed      fd0 e
g d/g d1g d,ge       e
g d(g d2g d-ge       ed      fd3 e
g dg d"g d#g d4ge       e
g d$g d%g d&g d&ge       ed      fd5 e
g dg d"g d#g d6ge       e
g d(g d2g d-g d&ge       ed      fd7 e
g d8g d9g d:ge       e
g d;g d<g d=ge       ed      fd> e
g d8g d9g d?ge       e
g d;g d@g dAge       ed      fdB e
g dCg dDge       e
g dEg dFge       ed      fdG e
g dHg dIge       e
g d(g dJge       ed      fdK e
g dLg dMg dNg dOg dPge       e
g dQg dRg dSg dTg dUge       ed      fdV e
g dWg d"ge       e
g dXg dYge       ed      fdZ e
g dUg dUg d[ge       e
g d\g dUg dUge       ed      fd] e
g d^g d_g d`g dag dbge       e
g d_g d`g dag dbg d^ge       ed      fdc e
g ddg deg dfg deg dQge       e
g dQg dRg dgg dTg dUge       ed      fdh e
g dig djg dkg dlg dmg dng dog dpg dqg drg dsg dtg dug dvg dwg dxg dyg dzg d{g d|ge       e
g d}g d~g dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dge       ed      fd e
g dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dge       e
g d}g d~g dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dge       ed      fd e
g dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg dg d¢g dâg dĢge       e edū      dz   eg dǢ      g eddū       edd      gg      j9                         j;                          edƫ      fd e
dd gd dgge       e
dd gd dgge       ed      fd e
d dgddgge       e
dd gd dgge       ed      fd e
g d̢g d͢ge       e
g d$g dJge       ed      fd e
g d͢g d̢ge       e
g d$g dJge       ed      fd e
dd gddgd dgge       e
dd gd dgd d gge       ed      fd e
g dѢg dҢge       e
g d(g d-ge       ed      fde ej                  de      j;                          ed      fde ej                  de      j;                          ed      fd e
d dgd dgdd gge       e
dd gd dgd d gge       ed      fd e
g dעg dHge       e
g d(g dJge       ed      fd e
eedgeedgge       e
eez  eez  z
  d e ez   gd eez  eez  z
  eez
  gge       eeez  eez  z
        fZdل Zdڄ Z dۄ Z!d܄ Z"ejF                  jI                  de      dބ        Z%ejF                  jI                  de      d߄        Z&ejF                  jI                  de      d        Z'ejF                  jI                  de      d        Z(ejF                  jI                  de      d        Z)ejF                  jI                  de      d        Z*ejF                  jI                  de      d        Z+ejF                  jI                  de      d        Z,ejF                  jI                  de      d        Z-ejF                  jI                  de      d        Z.ejF                  jI                  de      d        Z/ejF                  jI                  de      d        Z0ejF                  jI                  de      d        Z1ejF                  jI                  de      d        Z2ejF                  jI                  de      d        Z3ejF                  jI                  de      d        Z4y)    )ZZQQZZ_IEXMatrixeyezerossymbols)DMDomainMatrix)ddm_irref_den	ddm_irref)DDM)SDM	sdm_irrefsdm_rref_denNz
a, b, c, d)      )r      )r      )r      )r      )r      )r      )r      )r      )r      )r      ))r   %   )r   )   )r   +   )r   /   )r   5   )r   ;   )r   =   )r   C   )r   G   )r   I   )r   O   ))r   S   )r   Y   )r   a   )r   e   )r   g   )r   k   )r   m   )r   q   )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   i  ))r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i%  )r   i3  )r   i7  )r   i9  )r   i=  ))r   iK  )r   iQ  )r   i[  )r   i]  )r   ia  )r   ig  )r   io  )r   iu  )r   i{  )r   i  )r   i  ))r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i  ))r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i	  )r   i  ))r   i  )r   i#  )r   i-  )r   i3  )r   i9  )r   i;  )r   iA  )r   iK  )r   iQ  )r   iW  )r   iY  ))r   i_  )r   ie  )r   ii  )r   ik  )r   iw  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i  
   d   r   zz_1)r   r   r   r   zz_2)r   r   zz_3r   r      zz_4zz_5zz_6)rP   r      )r      	   )r   r   )r   r   r   )r   r   r   zz_7)r   r   r   zz_8zz_9)r   r   r   )r   r   r   )r   r   r   zz_10)r   r   r   zz_11)r   r   r   )r   r   r   zz_12)rK   r      zz_13)rK   r   r   zz_14)r   r   rP   r   )rP   r   rK   rT   )r   rU      rV   )r   r   r   rW   )r   r   r   r   )r   r   r   r   zz_15)r   rU   r   rV   )r   r   r   r   )r   r   r   r   zz_16)r   r   r   r   )r   r   rV   r   )r   r      rW   )r   r   ir   zz_17)r   r   r   )r   r   r   )r   r   r   zz_18)^      r      r   )r*   r   r   r   r   )U   ra   r(   Q   r   )r   r   H   M   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   zz_19)r   r   rP   )r   r   i)r   r   rK   zz_20)r   r   r   r   rP   )r   r   r   r   r   zz_21)
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   r   r   r   r   r   r   r   zz_22)r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   
zz_large_1)r   r   r   rk   r   r   K   r   r   r   r   r   r   ri   r   r   r   r   r   r   )r   r   r   r   r   V   r   \   r*   6   r   r   r   r   r   r   r*   r   r   r   )r,   rx   rk   r   r      r   r   r   r   r   r   3   r   rg   r   r   rm   r   r   )r   r   r   `   r   r   r   r   r   r   r   r   0   r   r   r   r   r       r   )r   F   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   r   r   r   r   r   r   r   r   r      r   r   )E   r   r   r   r   r   rg   r   r   r   r   r   r   r   r   r   r   r   r   7   )r   r   rd   1   r   X   r   r   #   rx   r   r   rz   r   r   r   r   r   r   W   )r   r   r   r   r   r   (   r   r   r   r   r   r   2   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   b   r   r   r      r$   r   rw   r   r   r   r   )r   r   r   _   r   r   r   $   r   r   r   r   r   rl   r   r   r   r   r)   r   )r   A      r{   r   r   r   r   r   r   r   r   r   Z   r   r   r   ro   r   r   )r   r   r   ra   '   ,   r   r   r   r   r   r   r   r   r   r   r   rz   r   r   )r   r   r   r   r   c   T   r   r   r   r   r   r   r   r   r   r"   !   ry   r   )r*   r   r   4   r   r^   r   r   r   r   D   r   r   r   r   r   r   r   r   r   )r   r   r   R   r   r   r   r   r   r-   r   r   r   r   r   rK   r   r   r   r   )r   r   rn   r   r'   r   r   r   r   r   rP   r   r   r   r   r   r   r   r   r   )r   r   r   r   rV   *   r   r   r   r   r   r   r   r   r   r   r   r   r   rU   )r   rm   r   r   r   r   r   r   r   r   ro   ]   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   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   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   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   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   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   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   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   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   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
zz_large_2)r   r   r   r   r   r   rT   rk   r   r   rv   r   r   r   r   rg   rP   r   r   r   )r   r   r"   r   >   r   r   r   r   r   r   r   r   r(   rV   r   9   r!   r   r   )r   r      r   J   r,   r   r   r   r   rT   r   r   r   r   r   r   r   rm   r   )r   rn   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   rl   rK   r   r}   r   r%   r   rh   )r   r   r   r   r   r   r   rg   r   r+   ry   r   r   rV   r   r   r   r   :   r   )r   r   8   r   r   r   r   r   r   r   r   r   rj   r   r   r   r   rz   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r~   r   r   r   r   ru   L   )r   r   r   r   r   r   r   r   r#   r   r   ry   r   r   r   r}   r(   r   r   r   )r   r   r   r   r   rP   rj   r   r   r   r   r   r   r   r'   r   r   r   r   rm   )r   ?   r   r(   r   r   r   r   r&   r   r   r   r   r   r   ru   r   r   r   r   )r   r)   r   r   r   r   r   r   r&   r   r   r   r   r   r   rz   r   r   r   ro   )r   r   r   r   ro   r   r   -   r   r   r   ra   r   rx   r   r   r   r   r   r   )r   r    r   r   r   r   rg   r   r   r   r   r   r   r   r   r   r   rU   r   r$   )rv   r   rg   r   r   rK   r   r   r   rd   r   r   r   r   r   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   )rP   r   rw   rK   r   r   r   r,   r   r   rd   rx   r   r   r   r   r   r|   r   rw   )r   r   r   rm   r   r   r   r   r      r   r   r   r   r   r   r   r   r   r   )r{   r   r   r   r   r   rv   r   r   r   r   r   r   r   r+   r   r   r   rl   r   )rk   r   r   rP   r   r   r   r   r   r   r   r   r,   r   r'   r   r   r   r   r   
zz_large_3)r   r   r,   r   r   r#   r   r   r   rl   r   r   P   r   r   rn   rK   r   rh   r   r{   r}   r   r   rw   r    r   rg   r   B   )ry   r#   r{   ro   rK   r   r   rT   r   r   r   rw   r&   rg   r   r!   r}   rV   r   rg   r   r   ri   r!   rl   rj   r&   r   r   .   )r   r   r   r      r   rg   r   r   r   rk   rK   r   r   r   rP   r   r   rj   r   r   rz   r   r   r   rm   rj   r   r   r   )r   r   r   r   r   r^   rd   r   ri   r   r^   rx   rn   rw   r   r   r   r+   r   r   r   rU   r   r   rw   r^   r   r   r   r   )r   r   r   r|   r   r   rh   r   r   r   r   r}   r   r   r   rj   rP   r*   r   r   r   ru   r   r{   r   r   r   r   r   ru   )   rj   r   rz      r<   rm   N   rj   r/   {   r   r      r   r   r   r   r   rk   f   r   ru   r%   r      p   r   rm      )r   r%   r&   r   r^   r+   ro   rU   rg   r(   r   r   r   rn   r|   r   r   r^   r   r   r-   r   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^   r   rh   r   r    r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   rw   r   r   r   r   r   r   rj   r   r&   r   r   r   r   r-   ro   r-   r$   rw   r   r   r"   )r+   r*   r!   ra   r   r   r$   r   r   rP   r(   r   r&   r   r   rl   r   rw   r%   rl   rx   r   r   r+   rU   r   rm   r   r   r   )r   ro   r   r   rl   rm   r   r~   r   r!   r    rT   r   r   r   rT   ru   r   r   r   r   r   r   r   rV   r   r,   r   r^   r   )r   r   r   r   rz   r}   rm   r!   r   r   ra   r   r   rk   r   r   r   r   r+   r   r   r'   r   r   r   r   r   r   r   r   )r*   rz   r   ry   r,   r{   r   rU   r   r   rv   r   r   rk   r   rj   rv   r   r&   rh   rl   r   r   r   rU   r   r   r   r   r$   )r{   rv   r)   ry   r!   ry   r    rd   rK   r&   rj   rh   r   r+   r   r!   rP   rw   r   r   r   r   rd   r   r}   r   r   r   r   rh   )r}   r   r#   r   rz   r   r   r   rV   r   r   ru   ru   r   r   rw   r   r$   r$   rv   r   rz   r!   r   r   rd   r   r   r   r}   )r   rn   rU   ra   r   rT   r   rj   ru   r   r"   ro   rd   r   r(   r   r}   rd   r^   r   rk   r$   r   r   r   r   r   r   r   r   )r   r   r,   r   ru   rg   rw   r   r   r   ro   r   r   r   r*   r   r   r   r   rk   rz   r   r   r   r   r(   r   r&   r   r   )r$   rw   rU   r   r'   r   rn   r*   r   r   r   r|   r   r   r   r-   r   r   r   r   r+   r|   r   r,   r'   rl   r   ro   r   r,   )r   r   r   rw   r   rU   r   ra   r   r|   r   rl   r   r   rk   r   rv   r   rz   r   r   r^   r$   r   r|   rn   r   r,   r   r*   )rk   r"   r   r   rT   r   r   r}   r   r   r   r   r   r    r   r   r'   r   r   r   r   rU   r   r|   r%   r    r   r-   r   r   )r   r|   rm   ra   r   r|   r   r   r   r%   r*   r   ra   r(   r   rv   r(   r!   r   r   r   r-   rm   r   rP   r   r   r   r   r)   )r   r#   r   r   r   r|   r#   r   r   r   r   rn   r   rh   r   r   r$   r   r-   r   r   rx   r^   rK   rm   r   r   ru   r}   rn   )rv   r   r   r   r(   r   rv   r   rd   r   r   r   rm   r   rV   rw   r   r   r   r   r   r   r   ri   rK   r   rw   rV   r   r   )r   ri   rl   r   r   r   rl   ru   r   r   r   r(   r   r   rK   r   r   rx   r   r   r#   ry   r   r   r-   r#   rh   r   ra   r{   )r   r   r+   r   r   r   rV   r$   ru   r   r   r   r^   r   r   r^   r   r   r   r   r   r   r,   r   rz   r   r   r{   r   r   )r   rV   r-   r   rv   r   r   r|   r!   r   r   r   r   rV   r   rl   r   r   r!   r   rK   r   r(   r   r   r   r   r   rT   r   )r~   r&   r   r   rl   r   rm   r   r!   rg   r   r   r   r   r   r#   ri   rd   r   r   ra   r|   r   rV   r   rm   rK   rg   r   rw   )r   r   r   r   rl   r   rk   r   r*   r    r   r   rn   r   ri   r   r    r   r-   r   rj   r   r   r   r   r   r   r   r   r)   )r)   r   r"   r   r,   r-   r   r   r   r   r   r   r   r   r   rj   r   r   r   r   r   r   r   rz   r   r   r   r*   r   rd   )rl   r   r!   r   rh   r   r   r*   r   r   r   ru   r   rT   rj   r   ry   r   rm   r(   r   rz   r   r   r   r   r   rK   r   rU   r   l   }#"
<Tvl;(CVW+)l   )'K	
)!08c9mJ"~(
l   [OvNeM"by;qyX-s/n l   r9O/]/GWm49lxil   0"M'Y#h	v)Bl   mRC.NR%y?^j<l   Go+5;#)%PFK.a l8`w!ZYg"TWMcW_CX#l   6I5A QF~t,U;'9fl   1x ?Q?fNBzL	lyJT{n'WQ8
%(9*v
l]|FlqUlz>jV% )tl   u, bvC*\lc]\.l(WlnGO~rZ^
l   ~Q71Gty4=GrrY l   	LR'"[ph]dQUS|l   x`w'hY|h/XSOl]: [Z68:?{oLhc	lS/dblR6	w(MBT:`TlthBB^{|69>(l-SEk{L?]6*u#5[(l   /3N?2	GKtsl   I4[,JtQ&9/Qrd^lTjeD0nv
AO@;uM6F~Ol%df8xh6wOiVl"B'[A(2g4,Un!FQl   vg,VvJENjiflD_zR#s%0[eRK*olT^ZH<UF*d7,jqCLlelGz;VGCm"2Y#?5,`+z	qq_1r   qq_2qq_3)r   r   r   )r   rP   r   qq_4qq_5qq_6)r   r   r   )r   r   r   
qq_large_1
qq_large_2qq_7zz_i_1))r   r   r   r   EX_1c                 2   t        | t              r| j                         S t        | t              r)| j	                  |j
                        j                         S t        | d      rt        | d      s|j                  |j
                  }}n| j                  | j
                  }}t        | t        t        f      r$t        t        |       ||      j                         S t        | t        t        f      r$t        t        |       ||      j                         S J )z#Convert the answer to DomainMatrix.shapedomain)
isinstancer   to_denser   to_DMr   hasattrr   r   listr   dict)Aansr   r   s       k/var/www/html/suriana-translation/venv/lib/python3.12/site-packages/sympy/polys/matrices/tests/test_rref.py_to_DMr   E  s    !\"zz|	Av	wwszz"++--AwGAx$8		3::vv!c4[!DGUF3<<>>	AT{	#DGUF3<<>>u    c           	      ~    t        t        t        t        | j	                         j                                           S )z%Return the pivots from the rref of A.)tuplesortedmapminto_sdmvalues)A_rrefs    r   _pivotsr   Y  s(    C!7!7!9:;<<r   c                    | \  }}}t        |t        t        t        t        f      rt        |      t        u sJ t        |      }t        ||      }|j                  |      \  }}||k(  sJ ||k(  sJ |t        |      k(  sJ y)zCheck the cancelled result.N)
r   r   r   r   r   typer   r   cancel_denomr   )resultrref_ansden_ansrrefdenpivotsrref2den2s           r   _check_cancelr   ^  s    D#v$c4./F|t###v$!D##C(KE4H7??WT]"""r   c                     | \  }}t        |t        t        t        t        f      rt        |      t        u sJ t        |      }|j                         |z  }t        ||      }||k(  sJ t        |      |k(  sJ y)zCheck the divided result.N)
r   r   r   r   r   r   r   to_fieldr   r   )r   r   r   r   r   s        r   _check_divider   k  sx    LD&$c4./F|t###v  "W,H$!D84=F"""r   zname, A, A_rref, denc                     |j                   }|j                         }|j                         \  }}|j                  r|j	                         }t        ||f||       y N)r   	to_Matrixr   is_EXexpandr   )namer   r   r   KA_rref_foundr   s          r   test_Matrix_rrefr   w  sL    	A	A668L&ww#**,<(&#6r   c                 Z    |j                         }t        |j                         ||       y r   )r   r   r   r   r   r   r   s       r   test_dm_dense_rrefr     s    	

A!&&(FC(r   c                 :    t        |j                         ||       y r   )r   rref_denr   s       r   test_dm_dense_rref_denr     s    !**,,r   c                 v    |j                         j                         }t        |j                         ||       y r   )r   	to_sparser   r   r   s       r   test_dm_sparse_rrefr     s(    	

 A!&&(FC(r   c                 Z    |j                         }t        |j                         ||       y r   )r   r   r   r   s       r   test_dm_sparse_rref_denr     s    	A!**,,r   c                     |j                         }|j                  d      \  }}}|j                         |z  }t        ||f||       y )NF)keep_domainr   r   r   r   r   r   r   r   A_rref_fden_fpivots_fs          r   #test_dm_sparse_rref_den_keep_domainr    sH    	A !

u
 =HeX  "U*H8X&4r   c                     |j                         }|j                  dd      \  }}}|j                         |z  }t        ||f||       y )NFCDr   methodr   r   s          r   &test_dm_sparse_rref_den_keep_domain_CDr    J    	A !

uT
 JHeX  "U*H8X&4r   c                     |j                         }|j                  dd      \  }}}|j                         |z  }t        ||f||       y )NFGJr  r   r   s          r   &test_dm_sparse_rref_den_keep_domain_GJr    r	  r   c                 Z    |j                         }t        |j                         ||       y r   )to_ddmr   r   r   s       r   test_ddm_rref_denr        	
A!**,,r   c                 Z    |j                         }t        |j                         ||       y r   )r   r   r   r   s       r   test_sdm_rref_denr    r  r   c                 v    |j                         j                         }t        |j                         ||       y r   )r   r  r   r   r   s       r   test_ddm_rrefr    (    	

A!&&(FC(r   c                 v    |j                         j                         }t        |j                         ||       y r   )r   r   r   r   r   s       r   test_sdm_rrefr    r  r   c                     |j                         j                         j                         }t        |      }t	        ||f||       y r   )r   r  copyr   r   )r   r   r   r   pivots_founds        r   test_ddm_irrefr    s9    	

""$AQ<L1l#VS1r   c                     |j                         j                         }t        ||j                        \  }}|||f}t	        |||       y r   )r  r  r   r   r   )r   r   r   r   	den_foundr  r   s          r   test_ddm_irref_denr    sA    	
A -a :YL)F&&#&r   c                 r    |j                         j                         }t        t        |      d d ||       y )Nr   )r   r   r   r   r   s       r   test_sparse_sdm_rrefr     s-    	

A)A,r"FC0r   c                     |j                         j                         }|j                  }t        t	        ||      ||       y r   )r   r  r   r   r   )r   r   r   r   r   s        r   test_sparse_sdm_rref_denr"    s0    	
A	A,q!$fc2r   )5sympyr   r   r   r   r   r   r	   r
   sympy.polys.matricesr   r   sympy.polys.matrices.denser   r   sympy.polys.matrices.ddmr   sympy.polys.matrices.sdmr   r   r   pytestabcdr   r   r   r   RREF_EXAMPLESr   r   r   r   markparametrizer   r   r   r   r   r  r  r  r  r  r  r  r  r  r   r"   r   r   <module>r1     s|   ? ? ? 1 ? ( A A  \"
1a  Y Y Y Y Y Y Y Y Y Y Y[ 	
 "c'$4L$4$4R$<<<
X	YK		YK		A	X 		b&"	%	b&"	%	A	X  	
QFF	
QFF	
1X2 	
QFF	
QFF	
11XD 	
QFF	
QFF	
1CXV 	
I	 	J	 	1	UXl 	
I	 	I	 	1	kXB 	
I	 	I	 	1	AXX 	
I	 	I	 	1	WXn 	
I	 	I	 	1	mXD 	
I	 	I	 	1	CXZ 	
L 	 	K 	 	1YXt 	
L 	 	L 	 	1sXN 	
M	  	M	  	1	MXd 	
M	  	M	  	1	cXz 	
L	
N	!
1yXL 	
I	
I	
1KXb 	
	! #%		&
 		! #%		&
 	1]XB 	
I	
J	
1XT 	
O 	" 	O 	" 	1	SXj 	
*****	, .0		1
 	*****	, .0		1
 	1iXH 	
O	 !		"
 	O	 !		"
 	1GXf 	
 P P P P P P P P P P P P P P P P P P P P)R* +	, 	HHHHHHHHHHHHHHHHHHHH'J& LN'	O( 	1Y-eXD	 	
 P P P P P P P P P P P P P P P P P P P P)R* +	, 	 < < < < < < < < < < < < < < < < < < < <)>* +	, 	1]/C	Xf
 	
 [ W W W V g Y Z Z Y X W W Z Y U X Z W V Y Z W Z U V X Y W X=Z> ?	@ 	WII  > 
q"uQ{#A!
 !	B 5788:
EFIEe
Xv 	
UAJA$
QFQFR 
1	uXF 	
QFF	
QFF	
1CXZ 	
I	
J	
1WXn 	
I	
J	
1kXB 	
QFFF	 	QFFF	 	1
XZ 	
I	
I	
1WXp 	R ))+
1kXB 	R ))+
1}Xr 	
QFFF	 	QFFF	 	13OXJ 	
M 	"
I	QGX^ 	
	
Aq		
Aq		 	QqS1Q3YA26*!ac	AE*,-/	1
1Q319	[Xv(=

#	# /?7 @7 /?) @)
 /?- @- /?) @)
 /?- @-
 /?5 @5 /?5 @5 /?5 @5 /?- @-
 /?- @-
 /?) @)
 /?) @)
 /?2 @2 /?' @' /?1 @1
 /?3 @3r   