
    g!&hg4                     t   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZmZ ddlmZ ddlmZ dd	lmZmZmZ d
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d  Z+d! Z,d" Z-d# Z.d$ Z/d% Z0d& Z1d' Z2d( Z3d) Z4d* Z5d+ Z6d, Z7d- Z8d. Z9d/ Z:d0 Z;d1 Z<d2 Z=d3 Z>y4)5z5
Tests for the basic functionality of the SDM class.
    )product)S)GROUND_TYPES)raises)QQZZEXRAW)SDM)DDM)DMBadInputErrorDMDomainErrorDMShapeErrorc                  
   t        ddt        d      iidt              } | j                  t        k(  sJ | j                  dk(  sJ t	        |       ddt        d      iik(  sJ t        t        d        t        t        d        y )Nr         r   c                  >    t        ddt        d      iidt              S )N   r   r   r   r
   r        y/var/www/pru.catia.catastroantioquia-mas.com/valormas/lib/python3.12/site-packages/sympy/polys/matrices/tests/test_sdm.py<lambda>ztest_SDM.<locals>.<lambda>       CAbe9vr$B r   c                  >    t        ddt        d      iidt              S )Nr   r   r   r   r   r   r   r   ztest_SDM.<locals>.<lambda>   r   r   )r
   r   domainshapedictr   r   As    r   test_SDMr!      sr    Q"Q%yM62&A88r>>77f7q!BqEm###
?BC
?BCr   c                      t        dt        d      idt        d      iddt              } t        |       dk(  sJ t        dk(  rt	        |       dk(  sJ y t	        |       dk(  sJ y )	Nr   r   r   r   r   z{0: {0: 1}, 1: {1: 1}}gmpyz1SDM({0: {0: mpz(1)}, 1: {1: mpz(1)}}, (2, 2), ZZ)z'SDM({0: {0: 1}, 1: {1: 1}}, (2, 2), ZZ))r
   r   strr   repr)sdms    r   test_DDM_strr(      sf    
!BqEqAi(&"
5Cs8////vCyOOOOCyEEEEr   c                      t        ddt        d      iidt              } | j                  i dt              }|t        i dt              k(  sJ y Nr   r   r   )r
   r   newr    Bs     r   test_SDM_newr.   %   sE    Q"Q%yM62&A	b&"AB####r   c                      t        ddt        d      iidt              } | j                         }| |k(  sJ t        d      | d   d<   | |k7  sJ y )Nr   r   r   r   )r
   r   copyr,   s     r   test_SDM_copyr1   +   sN    Q"Q%yM62&A	A6M6eAaDG6M6r   c                  0   t        j                  t        d      t        d      gt        d      t        d      ggdt              } | t        dt        d      idt        d      iddt              k(  sJ t        t        d        t        t        d        y )Nr   r   r   r#   c                  x    t        j                  t        d      gt        d      t        d      ggdt              S r*   r
   	from_listr   r   r   r   r   z$test_SDM_from_list.<locals>.<lambda>7   s+    CMMBqE7RUBqEN2KVUW$X r   c                  b    t        j                  t        d      t        d      ggdt              S r*   r4   r   r   r   r   z$test_SDM_from_list.<locals>.<lambda>8   s"    CMMBqE2a5>2BFB$O r   )r
   r5   r   r   r   r   s    r   test_SDM_from_listr7   3   ss    1r!u~1r!u~6CA"Q%yQr!uI.;;;;
?XY
?OPr   c                  Z   t        ddt        d      iidt              } | j                         t        d      t        d      gt        d      t        d      ggk(  sJ t        i dt              } | j                         g k(  sJ t        i dt              } | j                         g g gk(  sJ y )Nr   r   r   r   r   )r   r   )r
   r   to_listr   s    r   test_SDM_to_listr;   ;   s    Q2a5zNFB'A99;BqE2a5>BqE2a5>::::BA99;"BA99;2r("""r   c                      t        ddt        d      iidt              } | j                         t        d      t        d      t        d      t        d      gk(  sJ y r*   )r
   r   to_list_flatr   s    r   test_SDM_to_list_flatr>   F   sJ    Q2a5zNFB'A>>1r!ubeRU;;;;r   c                      t        ddt        d      iidt              } | j                         dt        d      ik(  sJ y )Nr   r   r   r#   )r
   r   to_dokr   s    r   test_SDM_to_dokrA   K   s8    Q2a5zNFB'A88:&"Q%(((r   c                  B   t        t        d      t        d      gt        d      t        d      ggdt              } t        j                  |       }|j                  t        k(  sJ |j
                  dk(  sJ t        |      dt        d      idt        d      idk(  sJ y )Nr   r   r   r#   )r   r   r
   from_ddmr   r   r   r,   s     r   test_SDM_from_ddmrD   P   s    beRU^beRU^,fb9AQA88r>>77f7!BqEqAi0000r   c                      t        ddt        d      iidt              } t        t        d      t        d      gt        d      t        d      ggdt              }| j                         |k(  sJ y r*   )r
   r   r   to_ddmr,   s     r   test_SDM_to_ddmrG   X   sY    Q2a5zNFB'AbeRU^beRU^,fb9A88:??r   c                  j    t        ddt        d      iidt              } | j                         | k(  sJ y r*   )r
   r   to_sdmr   s    r   test_SDM_to_sdmrJ   ^   s.    Q2a5zNFB'A88:??r   c                  J    t        ddt        d      iidt                j                  dd      t        j                  k(  sJ  j                  dd      t        j                  k(  sJ  j                  dd      t        j                  k(  sJ  j                  dd      t        j                  k(  sJ  j                  dd      t        j                  k(  sJ  j                  dd      t        j                  k(  sJ t        t         fd       t        t         fd       y )Nr   r   r   c                  (     j                  dd      S Nr   r   getitemr   s   r   r   z"test_SDM_getitem.<locals>.<lambda>k       qyyA r   c                  (     j                  dd      S Nr   r   rP   r   s   r   r   z"test_SDM_getitem.<locals>.<lambda>l   rR   r   )r
   r   rQ   zerooner   
IndexErrorr   s   @r   test_SDM_getitemrX   c   s    Q"Q%yM62&A99Q?bgg%%%99Q?bff$$$99Q?bgg%%%99R'''99R&&&99R'''
:./
:./r   c                      t        ddt        d      iidt                j                  ddt        d              t        dt        d      t        d      didt              k(  sJ  j                  ddt        d              t        t        d      t        d      ddt        d      iddt              k(  sJ  j                  ddt        d              t        dt        d      t        d      didt              k(  sJ  j                  ddt        d              t        dt        d      t        d      didt              k(  sJ  j                  ddt        d              t        ddt        d      iidt              k(  sJ  j                  ddt        d              t        ddt        d      iidt              k(  sJ t        t         fd       t        t         fd       y )Nr   r   r   r#   c                  <     j                  ddt        d            S )Nr   r   r   setitemr   r   s   r   r   z"test_SDM_setitem.<locals>.<lambda>       qyyAr!u5 r   c                  <     j                  ddt        d            S )Nr   r   r   r[   r   s   r   r   z"test_SDM_setitem.<locals>.<lambda>   r]   r   )r
   r   r\   r   rW   r   s   @r   test_SDM_setitemr_   o   s   Q"Q%yM62&AIIaBqEQ"Q%2a5)*FB7777IIaBqE"Q%2a5)a1Y7DDDDIIaBqEQ"Q%2a5)*FB7777IIaBqEQ"Q%2a5)*FB7777IIaBqEQ"Q%yM62....IIaBqEQ"Q%yM62....
:56
:56r   c                     t        t        d      t        d      dt        d      t        d      dddt              } | j                  t        dd      t        dd            }|t        ddt        d      iidt              k(  sJ y )	Nr   r   r#         r   r   r   r   )r
   r   extract_sliceslicer,   s     r   test_SDM_extract_slicerf      sn    "Q%2a5!1A%78&"EA	aU1a[1AQ"Q%yM62....r   c                  n   t        t        d      t        d      dt        d      t        d      dddt              j                  dgdg      } | t        ddt        d      iidt              k(  sJ j                  ddgddg      } | t        t        d      t        d      dt        d      t        d      dddt              k(  sJ j                  ddgddg      } | t        t        d      t        d      dt        d      t        d      dddt              k(  sJ j                  d	gd	g      } | t        ddt        d      iidt              k(  sJ t        i dt              j                  g d
ddg      } | t        i dt              k(  sJ t        t        d      t        d      dt        d      t        d      dddt              j                  g g       t        j                  dt              k(  sJ j                  dgg       t        j                  dt              k(  sJ j                  g dg      t        j                  dt              k(  sJ t	        t
        fd       t	        t
        fd       t	        t
        fd       t	        t
        fd       y )Nr   r   r#   ra   rb   r   r   rc   rM   )r   r   r   ra   r   )r   r   )r   r   c                  ,     j                  dgdg      S rO   extractr   s   r   r   z"test_SDM_extract.<locals>.<lambda>       qyy!qc2 r   c                  ,     j                  dgdg      S rT   rj   r   s   r   r   z"test_SDM_extract.<locals>.<lambda>   rl   r   c                  ,     j                  dgdg      S )Nr   rj   r   s   r   r   z"test_SDM_extract.<locals>.<lambda>   s    qyy"s3 r   c                  ,     j                  dgdg      S )Nr   ro   rj   r   s   r   r   z"test_SDM_extract.<locals>.<lambda>   s    qyy!rd3 r   )r
   r   rk   zerosr   rW   r-   r    s    @r   test_SDM_extractrs      s<   "Q%2a5!1A%78&"EA			1#sAQ"Q%yM62....			1a&1a&!A"Q%2a5)1A-?@&"MMMM			1a&1a&!A"Q%2a5)1A-?@&"MMMM			2$AQ"Q%yM62....BA			)aV$AB####"Q%2a5!1A%78&"EA99R		&" 555599aS"62!666699R!62!6666
:23
:23
:34
:34r   c                      t        j                  dt              } | j                  t        k(  sJ | j                  dk(  sJ t        |       i k(  sJ y Nr   )r
   rq   r   r   r   r   r   s    r   test_SDM_zerosrv      sD    		&"A88r>>77f7b==r   c                      t        j                  dt              } | j                  t        k(  sJ | j                  dk(  sJ t        |       dt        d      t        d      dik(  sJ y )Nr   r   r   r   r#   )r
   onesr   r   r   r   r   s    r   test_SDM_onesrz      sX    A88r>>77f7qBqERU+,,,,r   c                      t        j                  dt              } | j                  t        k(  sJ | j                  dk(  sJ t        |       dt        d      idt        d      idk(  sJ y )Nr   r   r   r#   )r
   eyer   r   r   r   r   s    r   test_SDM_eyer}      s[    A88r>>77f7!BqEqAi0000r   c                      t        j                  t        d      t        d      gt        d      } | t        dt        d      idt        d      iddt              k(  sJ y )Nr   r   r   ra   r   r#   )r
   diagr   r   s    r   test_SDM_diagr      sL    "Q%AV,A"Q%yQr!uI.;;;;r   c                  j   t        t        d      t        d      dt        d      t        d      dddt              } t        t        d      t        d      dt        d      t        d      dddt              }| j                         |k(  sJ t        ddt        d      iidt              } t        ddt        d      iidt              }| j                         |k(  sJ t        ddt        d      iidt              } t        ddt        d      iid	t              }| j                         |k(  sJ y )
Nr   r   r#   ra   rb   r   r   rx   r   r   )r
   r   	transposer,   s     r   test_SDM_transposer      s    "Q%2a5!1A%78&"EA"Q%2a5!1A%78&"EA;;=AQ"Q%yM62&AQ"Q%yM62&A;;=AQ"Q%yM62&AQ"Q%yM62&A;;=Ar   c                     t        ddt        d      iidt              t        ddt        d      iidt              } t        d      z  | k(  sJ t        d      z  | k(  sJ t        t        fd       t        t        fd       y )Nr   r   r   rb   c                  "     t        dd      z  S Nr   r   r   r   s   r   r   ztest_SDM_mul.<locals>.<lambda>   s    a1aj r   c                  "    t        dd       z  S r   r   r   s   r   r   ztest_SDM_mul.<locals>.<lambda>   s    bAhqj r   )r
   r   r   	TypeErrorrr   s    @r   test_SDM_mulr      su    Q"Q%yM62&AQ"Q%yM62&ARU7a<<a57a<<
9()
9()r   c                     t        dt        d      t        d      didt              } t        dt        d      idt        d      iddt              t        ddt        d      iidt              }| j                        |k(  sJ j                  |       |k(  sJ | j                  t              t        ddt        d      iid	t              t        t        fd
       t        t        fd       y )Nr   r   r#   r   rb   ra      r   rc   c                  &     j                        S Nmul_elementwise)Aqr-   s   r   r   z*test_SDM_mul_elementwise.<locals>.<lambda>   s    ""4"4Q"7 r   c                  &     j                        S r   r   )A1r-   s   r   r   z*test_SDM_mul_elementwise.<locals>.<lambda>   s    !3!3A!6 r   )r
   r   r   
convert_tor   r   r   r   )r    Cr   r   r-   s     @@@r   test_SDM_mul_elementwiser      s    Q"Q%2a5!"FB/A"Q%yQr!uI&3AQ"Q%yM62&AQ1$$$Q1$$$	
b	B	a2a5	]FB	'B
=78
<67r   c                     t        ddt        d      iidt              t        ddt        d      iidt              } j                        z  cxk(  r| k(  sJ  J t        ddt        d      iidt              t	        t
        fd       t        t        d      t        d      dt        d      t        d      dddt              t        t        d	      t        d
      dt        d      t        d      dddt              } j                        z  cxk(  r| k(  sJ  J t        ddt        d      iidt              t        ddt        d      iidt              }t        ddt        d      iidt              t        ddt        d      iidt              }t        ddt        d      iidt              |j                        |k(  sJ j                  |      k(  sJ t	        t        fd       t        dt        d      t        d      didt              t        dt        d      idt        d      iddt              } j                  |       | z  cxk(  rt        i dt              k(  sJ  J y )Nr   r   r   rb   c                  &     j                        S r   matmul)r    r   s   r   r   z!test_SDM_matmul.<locals>.<lambda>   s    !((1+ r   r   r#   ra      
         rh   r   r   )ra   ra   c                  &    j                         S r   r   )A22A23s   r   r   z!test_SDM_matmul.<locals>.<lambda>   s    C r   rM   rx   r   rc   )r
   r   r   r   r   r   r   )r-   A32A33r    r   r   r   s      @@@@r   test_SDM_matmulr      s,   Q"Q%yM62&AQ"Q%yM62&A88A;!A#""""""Q"Q%yM62&A
=-."Q%2a5!1A%78&"EA"Q%2b6"B2b6&:;VRHA88A;!A#""""""
q!BqEmVR
(C
q!BqEmVR
(C
q!BqEmVR
(C
q!BqEmVR
(C
q!BqEmVR
(C::c?c!!!::c?c!!!
 <01QBrFr!u%&3ABrFBrF,fb9A88A;!A#4R!444444r   c                  p   d } t         j                  t         j                  t         j                  t         j                  t         j
                  g}t        |gdz   D ]W  \  }}}} | ||d||dd      } | ||z  ||z  z   ||z  ||z  z   d||z  ||z  z   ||z  ||z  z   dd      }||z  |k(  rWJ  y )Nc                     i }| j                         D ]3  \  }}|j                         D ci c]  \  }}|s	|| }}}|s/|||<   5 t        |dt              S c c}}w ru   )itemsr
   r	   )dresultirowjvals         r   dmztest_matmul_exraw.<locals>.dm  se    ggi 	 FAs'*yy{:VQc1S5:C:q		  665)) ;s
   
AArb   r#   )r   NegativeInfinityNegativeOneZeroOneInfinityr   )r   valuesabcr   AdAd2s           r   test_matmul_exrawr      s    *   !--

KFxz* 
1aqAJa1:./!ac	QqS1Q3Y/acAaCiAaC!A#I3NOPBw#~~r   c                     t        dt        d      it        d      t        d      dddt              t        dt        d      it        d      t        d      dddt              } t        t        d      t        d      ddt        d      iddt              }j                  |       | j                        cxk(  r| z   cxk(  r| z   cxk(  r|k(  sJ  J t        ddt        d      iidt              t        dt        d      it        d      t        d      dddt              } t        t        d      t        d      dt        d      t        d      dddt              }j                  |       | j                        cxk(  r| z   cxk(  r| z   cxk(  r|k(  sJ  J t        t        fd	       y )
Nr   r   ra   r#   r   r   rL      c                       g z   S r   r   r   s   r   r   ztest_SDM_add.<locals>.<lambda>      a"f r   )r
   r   addr   r   r-   r   r    s     @r   test_SDM_addr     sj   "Q%yr!u1./<A"Q%yr"vA/0&"=A"Q%2a5!a1Y/<A558quuQx61q56AE6Q66666Q"Q%yM62&A"Q%yr"vA/0&"=A"Q%2a5!2"Q%%8962FA558quuQx61q56AE6Q66666
9n%r   c                     t        dt        d      it        d      t        d      dddt              t        dt        d      it        d      t        d      dddt              } t        t        d      t        d      ddt        d	      iddt              }j                  |       | z
  cxk(  r|k(  sJ  J t        t        fd
       y )Nr   r   ra   r#   r   r   rL   rM   rb   c                       g z
  S r   r   r   s   r   r   ztest_SDM_sub.<locals>.<lambda>$  r   r   )r
   r   subr   r   r   s     @r   test_SDM_subr     s    "Q%yr!u1./<A"Q%yr"vA/0&"=A"R&BqE"qAi0&"=A558q1u!!!!!!
9n%r   c                     t        dt        d      it        d      t        d      dddt              } t        dt        d      it        d      t        d      dddt              }| j                         |  cxk(  r|k(  sJ  J y )	Nr   r   ra   r#   r   rM   rL   ro   )r
   r   negr,   s     r   test_SDM_negr   '  ss    "Q%yr!u1./<A"R&z2"R&12FB?A557qbAr   c                     t        dt        d      it        d      t        d      dddt              } t        dt        d      it        d      t        d      dddt              }| j                  t              }||k(  sJ |j                  t        k(  sJ | j                  t              }|| k(  sJ |j                  t        k(  sJ y )Nr   r   ra   r#   r   )r
   r   r   r   r   )r    r-   r   Ds       r   test_SDM_convert_tor   -  s    "Q%yr!u1./<A"Q%yr!u1./<A	RA6M688r>>	RA6M688r>>r   c                     t        ddt        d      iidt              } t        ddt        d      iidt              }t        dt        d      t        d      didt              }t        dt        d      idt        d      iddt              }t        j                  |       | k(  sJ t        j                  | |       |k(  sJ t        j                  | |      |k(  sJ y )Nr   r   r   )r   ra   )r   rb   ra   r#   )r
   r   hstackr    r-   AAABs       r   test_SDM_hstackr   9  s    Q"Q%yM62&AQ"Q%yM62&A	a2a5BqE"#VR	0B	2a5	a1Y'	4B::a=A::ar!!!::ar!!!r   c                     t        ddt        d      iidt              } t        ddt        d      iidt              }t        dt        d      idt        d      iddt              }t        dt        d      idt        d      iddt              }t        j                  |       | k(  sJ t        j                  | |       |k(  sJ t        j                  | |      |k(  sJ y )Nr   r   r   r9   )rb   r   )r   ra   )r
   r   vstackr   s       r   test_SDM_vstackr   C  s    Q"Q%yM62&AQ"Q%yM62&A	2a5	a1Y'	4B	2a5	a1Y'	4B::a=A::ar!!!::ar!!!r   c                      t        ddt        d      iidt              } t        ddt        d      iidt              }| j                  d t              |k(  sJ y )Nr   r   r   r   c                     d| z  S )Nr   r   )xs    r   r   z$test_SDM_applyfunc.<locals>.<lambda>P  s
    1 r   )r
   r   	applyfuncr,   s     r   test_SDM_applyfuncr   M  sO    Q"Q%yM62&AQ"Q%yM62&A;;}b)Q...r   c                  *   t        t        d      t        d      dt        d      t        d      dddt              } t        t        d      t        d      dt        dd      t        dd      dddt              }| j                         |k(  sJ y )	Nr   r   r#   ra   rb   r   rL   rM   )r
   r   invr,   s     r   test_SDM_invr   S  sr    "Q%2a5!1A%78&"EA"R&BqE"AqRAY&?@&"MA557a<<r   c                      t        t        d      t        d      dt        d      t        d      dddt              } | j                         t        d      k(  sJ y )Nr   r   r#   ra   rb   r   rL   )r
   r   detr   s    r   test_SDM_detr   Y  sG    "Q%2a5!1A%78&"EA557bfr   c                     t        t        d      t        d      dt        d      t        d      dddt              } t        dt        d      it        d      t        d      dddt              }| j                         d   |k(  sJ y )Nr   r   r#   ra   rb   r   r   )r
   r   lu)r    Ls     r   test_SDM_lur   ^  so    "Q%2a5!1A%78&"EA"Q%yr!u1./<A
 446!9>>r   c                  j   t        t        d      t        d      dt        d      t        d      dddt              } t        dt        d      idt        d      iddt              }t        ddt        dd      iidt              }| j                  |      |k(  sJ | j                  |      |k(  sJ y )	Nr   r   r#   ra   rb   r   r   r   )r
   r   r   lu_solve)r    r   r   s      r   test_SDM_lu_solver   h  s    "Q%2a5!1A%78&"EA"Q%yQr!uI&3AQ"Q(|fb)A88A;!::a=Ar   c                      t        t        d      t        d      dt        d      t        d      dddt              } | j                         t        d      t        d      t        d      gk(  sJ y )	Nr   r   r#   ra   rb   r   rL   )r
   r   charpolyr   s    r   test_SDM_charpolyr   p  sV    "Q%2a5!1A%78&"EA::<BqE2b62b62222r   c                      t        dt        d      t        d      didt              } | j                         d   t        dt        d      t        d      didt              k(  sJ y )Nr   r   r#   r   rM   rx   )r
   r   	nullspacer   s    r   test_SDM_nullspacer   u  sV    Q"Q%2a5!"FB/A;;=sAB2a5&9#:FBGGGGr   c                  L   t        t        d      t        d      dt        d      t        d      dddt              } t        dt        d      idt        d      iddt              }| j                         |ddgfk(  sJ t        t        d      t        d      t        d      dt        d      t        d      d	dd
t              } t        t        dd      t        dd      d	t        dd      t        dd      ddd
t              }| j                         |ddgfk(  sJ y )Nr   r   r#   ra   rb   r   r   r   r   r   r9   r   rx   )r
   r   rrefr   )r    A_rrefs     r   test_SDM_rrefr   {  s    	"Q%2a5!Q%2a5!#$*B	0AQr!uI!BqE+VR8F668A''''BqEbe1.qE1.017	=AAaR!W-AaR!W-/06<F668A''''r   c                      t        ddt        d      iidt              } t        j                  dt              }| j                         |k(  sJ y )Nr   r   r   rx   )r
   r   rq   
particular)r    Aparts     r   test_SDM_particularr     s@    Q"Q%yM62&AIIfb!E<<>U"""r   c                      t        ddt        d      iidt              } t        j                  dt              }| j                         du sJ |j                         du sJ y )Nr   r   r   rx   FT)r
   r   rq   is_zero_matrix)r    Azeros     r   test_SDM_is_zero_matrixr     sZ    QBqE
OVR(AIIfb!E&&&!T)))r   c            	      0   t        t        d      t        d      t        d      t        d      dt        d      t        d      t        d      d	t        d
      t        d      dddt              } t        t        d      t        d      t        d      t        d      dt        d      t        d      t        d      d	t        d      t        d
      t        d      d	ddt              }| j                         du sJ |j                         du sJ y Nr   r   ra   rb   )r   r   r   ra   r   r   r   )r   r   ra   r   	   r   r   )ra   rb   TF)r
   r   is_upperr,   s     r   test_SDM_is_upperr    s    BqEbe1"Q%8 e1"Q%8(*1"Q%$8:;A2	GA 	BqEbe1"Q%8 e1"Q%8 e1"Q%8:;A2	GA ::<4::<5   r   c            	      h   t        t        d      t        d      t        d      t        d      dt        d      t        d      t        d      d	t        d
      t        d      dddt              j                         } t        t        d      t        d      t        d      t        d      dt        d      t        d      t        d      d	t        d      t        d
      t        d      d	ddt              j                         }| j                         du sJ |j                         du sJ y r   )r
   r   r   is_lowerr,   s     r   test_SDM_is_lowerr    s    BqEbe1"Q%8 e1"Q%8(*1"Q%$8:;A2	 ik  	BqEbe1"Q%8 e1"Q%8 e1"Q%8:;A2	 ik  ::<4::<5   r   N)?__doc__	itertoolsr   sympy.core.singletonr   sympy.external.gmpyr   sympy.testing.pytestr   sympy.polys.domainsr   r   r	   sympy.polys.matrices.sdmr
   sympy.polys.matrices.ddmr   sympy.polys.matrices.exceptionsr   r   r   r!   r(   r.   r1   r7   r;   r>   rA   rD   rG   rJ   rX   r_   rf   rs   rv   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   r   <module>r     s    " , ' - - ( (; ;DF$Q#<
)
1
	07(/54-1<
*85<"&&	""/
3
H(#*!
!r   