+
    iRt                        ^ RI Ht ^ RIHtHtHtHtHt ^ RIH	t	H
t
HtHtHt ^ RIHtHtHtHtHt ^ RIHtHt ^ RI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']] ]!.t(]"]#]$.t)]%]&]'.t*]PV                  PY                  R])4      R 4       t-]PV                  PY                  R])4      R 4       t. ! R R4      t/]/! 4       t0]PV                  PY                  R])4      R 4       t1]PV                  PY                  R])4      R 4       t2R t3]PV                  PY                  R])4      R 4       t4]PV                  PY                  R])4      R  4       t5]PV                  PY                  R])4      R! 4       t6]PV                  PY                  R])4      R" 4       t7]PV                  PY                  R])4      R# 4       t8]PV                  PY                  R])4      R$ 4       t9]PV                  PY                  R])4      R% 4       t:]PV                  PY                  R])4      R& 4       t;]PV                  PY                  R])4      R' 4       t<]PV                  PY                  R])4      R( 4       t=]PV                  PY                  R])4      R) 4       t>]PV                  PY                  R])4      R* 4       t?]PV                  PY                  R])4      R+ 4       t@]PV                  PY                  R])4      R, 4       tA]PV                  PY                  R])4      R- 4       tB]PV                  PY                  R])4      R. 4       tC]PV                  PY                  R])4      R/ 4       tD]PV                  PY                  R])4      R0 4       tE]PV                  PY                  R])4      R1 4       tF]PV                  PY                  R])4      R2 4       tG]PV                  PY                  R])4      R3 4       tH]PV                  PY                  R])4      R4 4       tI]PV                  PY                  R])4      R5 4       tJ]PV                  PY                  R])4      R6 4       tK]PV                  PY                  R](4      R7 4       tL]PV                  PY                  R])4      R8 4       tM]PV                  PY                  R])4      R9 4       tN]PV                  PY                  R])4      R: 4       tO]PV                  PY                  R])4      R; 4       tP]PV                  PY                  R])4      R< 4       tQ]PV                  PY                  R])4      R= 4       tR]PV                  PY                  R])4      R> 4       tS]PV                  PY                  R])4      R? 4       tT]PV                  PY                  R])4      R@ 4       tU]PV                  PY                  R])4      RA 4       tV]PV                  PY                  R]*4      RB 4       tW]PV                  PY                  R]*4      RC 4       tX]PV                  PY                  R])4      RD 4       tY]PV                  PY                  R])4      RE 4       tZ]PV                  PY                  R]*4      RF 4       t[]PV                  PY                  R])4      RG 4       t\]PV                  PY                  R]*4      RH 4       t]]PV                  PY                  R]*4      RI 4       t^]PV                  PY                  R])4      RJ 4       t_]PV                  PY                  R]*4      RK 4       t`]PV                  PY                  R]*4      RL 4       ta]PV                  PY                  R]*4      RM 4       tb]PV                  PY                  R]*4      RN 4       tc]PV                  PY                  R]*4      RO 4       td]PV                  PY                  R]*4      RP 4       te]PV                  PY                  R])4      RQ 4       tf]PV                  PY                  R]*4      RR 4       tg]PV                  PY                  R]*4      RS 4       th]PV                  PY                  R]*4      RT 4       ti]PV                  PY                  R]*4      RU 4       tj]PV                  PY                  R]*4      RV 4       tk]PV                  PY                  R]*4      RW 4       tl]PV                  PY                  R])4      RX 4       tmR# )Y    )GROUND_TYPES)ZZQQGFZZ_Isymbols)DMBadInputErrorDMDomainErrorDMNonSquareMatrixErrorDMNonInvertibleMatrixErrorDMShapeError)DMDomainMatrixDDMSDMDFM)raisesskipNc                 N
  a
aaaa \        ^4      \        ^4      .\        ^4      \        ^4      .\        ^4      \        ^4      ..o^ ^ \        ^4      ^\        ^4      /^^ \        ^4      ^\        ^4      /^^ \        ^4      ^\        ^4      //o. p . p. . .p/ p/ p/ p\        ^4      \        ^4      .\        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      ..o^ ^ \        ^4      ^\        ^4      /^^ \        ^4      ^\        ^4      /^^ \        ^4      ^\        ^4      ^\        ^4      //o\        .p\        .p\        R8X  d   VP	                  \
        4       V EF$  o
S
! SR\         4      pVP                  ^8X  g   Q hVP                  ^8X  g   Q hVP                  \         8X  g   Q hVP                  R8X  g   Q hS
\
        Jd,   \         P                  ! V^ ,          ^ ,          4      RJ g   Q hM-\         P                  ! VP                  R,          4      RJ g   Q h\        SR\         4      p	S
\
        J d6   V	P                  V8X  g   Q hV	P                  P                  4       V8w  g   Q hMt\        R8X  d6   V	P                  P                  4       V8X  g   Q hV	P                  V8w  g   Q hM4V	P                  V8X  g   Q hV	P                  P                  4       V8X  g   Q hS
! V R\         4      P                  R8X  g   Q hS
! VR\         4      P                  R8X  g   Q hS
! VR\         4      P                  R8X  g   Q h\        \        V
V3R l4       \        \        V
V3R l4       \        \        V
V3R l4       EK'  	  V EFJ  o
S
! SR\         4      pVP                  ^8X  g   Q hVP                  ^8X  g   Q hVP                  \         8X  g   Q hVP                  R8X  g   Q h\         P                  ! V^ ,          ^ ,          4      RJ g   Q h\        SR\         4      P                  V8X  g   Q hS
! VR\         4      P                  R8X  g   Q hS
! VR\         4      P                  R8X  g   Q hS
! VR\         4      P                  R8X  g   Q h\        \        V
V3R l4       \        \        V
V3R l4       \        \        V
V3R l4       EKM  	  \        \        V3R	 l4       \        \        V3R
 l4       \        \        V3R l4       R# )zTest the DDM, etc constructors.flintTc                      < S ! SR\         4      #    r      r   XDMlols   a/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/matrices/tests/test_xxm.py<lambda>'test_XXM_constructors.<locals>.<lambda>c       C(<    c                      < S ! SR\         4      # r   r   r   r   )r   lol_bads   r    r!   r"   d       GVR(@r$   c                      < S ! SR\         4      # r&   r   r   dods   r    r!   r"   e   r#   r$   c                      < S ! SR\         4      # r   r   r+   s   r    r!   r"   u   r#   r$   c                      < S ! SR\         4      # r&   r   r   s   r    r!   r"   v   r#   r$   c                      < S ! SR\         4      # r&   r   )r   dod_bads   r    r!   r"   w   r)   r$   c                  &   < \        S R\        4      # r   r   r   r   s   r    r!   r"   y   s    Lfb$Ar$   c                  &   < \        S R\        4      # r&   r2   )r(   s   r    r!   r"   z       L&"$Er$   c                  &   < \        S R\        4      # r&   r2   )r0   s   r    r!   r"   {   r5   r$   Nr'   r   r   r   r   r   r   )r   r   r   r   appendr   rowscolsdomainshapeof_typerepr   to_ddmr   r	   )lol_0x0lol_0x2lol_2x0dod_0x0dod_0x2dod_2x0	XDM_dense
XDM_sparseAAdmr   r,   r0   r   r(   s             @@@@@r    test_XXM_constructorsrL   #   s@    
A1	A1	A1C 	
Ar!uaA	Ar!uaA	Ar!uaAC GG2hGGGG 
A1	A1	A1r!uG 	
Ar!uaA	Ar!uaA	Ar!uaA2a5)G IJwVR vv{{vv{{xx2~~ww&   c>::ad1g&$...::aeeDk*d2223+#:77a<<77>>#q(((W$77>>#q(((77a<<77a<<77>>#q(((7FB'--7777FB'--7777FB'--777 <= @A <=9 < VR vv{{vv{{xx2~~ww&   zz!A$q'"d***C,00A5557FB'--7777FB'--7777FB'--777 <= <= @A! $ ?AB
?EF
?EFr$   c            	     P   \        ^4      \        ^4      .\        ^4      \        ^4      ..p ^ ^ \        ^4      ^\        ^4      /^^ \        ^4      ^\        ^4      //p\        ^4      \        ^4      .\        ^4      \        ^4      ..p^ ^ \        ^4      ^\        ^4      /^^ \        ^4      ^\        ^4      //p\        V R\         4      p\        VR\         4      p\        V R\         4      p\        VR\         4      p\        VR\         4      p\        VR\         4      p	\        VR\         4      p
\        VR\         4      pWEWg.pWW.p\        R8X  dQ   \        ^^.^^..R\         4      p\        ^^.^^..R\         4      pVP                  V4       VP                  V4       \        V4       FP  w  pp\        V4       F;  w  ppVV8X  d   VV8H  RJ g   Q hVV8g  RJ g   Q hK%  VV8H  RJ g   Q hVV8g  RJ d   K;  Q h	  KR  	  \        V4       FP  w  pp\        V4       F;  w  ppVV8X  d   VV8H  RJ g   Q hVV8g  RJ g   Q hK%  VV8H  RJ g   Q hVV8g  RJ d   K;  Q h	  KR  	  \        V4       F1  w  pp\        V4       F  w  ppVV8H  RJ g   Q hVV8g  RJ d   K  Q h	  K3  	  R# )z1Test equality for DDM, SDM, DFM and DomainMatrix.r   TFNr   r   )r   r   r   r   r   r   r:   	enumerate)lol1dod1lol2dod2A1_ddmA1_sdmA1_dm_dA1_dm_sA2_ddmA2_sdmA2_dm_dA2_dm_sA1_allA2_allA1_dfmA2_dfmnAnmAmA1A2s                         r    test_XXM_eqrf   ~   s    UBqENRUBqEN+D2a5!RU#QBqE1be(<=DUBqENRUBqEN+D2a5!RU#QBqE1be(<=Dvr"Fvr"F4,G4,Gvr"Fvr"F4,G4,Gg/Fg/Fwq!fq!f%vr2q!fq!f%vr2ff6"2v&EArAvbT)))bU***bU***bT))) ' # 6"2v&EArAvbT)))bU***bU***bT))) ' # 6"2v&EAr"H&&&"H%%% ' #r$   c            	       a	a
a \        ^4      \        ^4      .\        ^4      \        ^4      ..p ^ ^ \        ^4      ^\        ^4      /^^ \        ^4      ^\        ^4      //p\        V R\         4      p\        VR\         4      p\        V R\         4      p\        VR\         4      pW#WE.p\        R8X  d#   \        V R\         4      pVP                  V4       V Fi  o	S	P                  4       V8X  g   Q hS	P                  4       V8X  g   Q h\        R8w  g   K>  \        \        V	3R l4       S	P                  4       V8X  d   Ki  Q h	  \        R8X  Ed8   V EF.  o	S	P                  4       X8X  g   Q h\         \        \        ^4      \        3 F  o\!        S	\
        4      '       d4   \
        P"                  ! S4      '       g   \        \        V	V3R l4       KL  S	P%                  S4      o
\
        P"                  ! S4      '       dB   VP%                  S4      pS
P                  4       V8X  g   Q hS
P                  4       V8X  g   Q hK  \        \        V
3R l4       S
P                  4       VP%                  S4      8X  d   K  Q h	  EK1  	  R# R# )z4Test to_ddm etc. for DDM, SDM, DFM and DomainMatrix.r   c                  $   < S P                  4       # Nto_dfmrJ   s   r    r!   test_to_XXM.<locals>.<lambda>   s    
r$   c                  &   < S P                  S4      # ri   )
convert_to)rJ   Ks   r    r!   rm      s    Qr$   c                  $   < S P                  4       # ri   rj   )A_Ks   r    r!   rm      s    CJJLr$   NrN   )r   r   r   r   r   r   r:   rA   to_sdmr   NotImplementedErrorto_dfm_or_ddmrk   r   r   r   
isinstance_supports_domainro   )r   r,   A_ddmA_sdmA_dm_dA_dm_sA_allA_dfmA_dfm_KrJ   rr   rp   s            @@@r    test_to_XXMr      s
    qE2a5>BqE2a5>
*Cq"Q%BqE"A2a5!RU';
<CVR EVR E#vr*F#vr*F6*EwC$UxxzU"""xxzU"""7"&(:;??$---  wA88:&&&"beT*a%%c.B.B1.E.E.0GH,,q/C++A.."'"2"21"5"zz|w666"002g===24HI"002e6F6Fq6IIII +  r$   c                   a \        R4      w  r\        R9   d5   . p/ p\        \        \	        ^4      \        V ,          \        W3,          .pM\        R8X  dt   ^ RIp\        \        .p\        VP                  \        VP                  \	        ^4      R/p\        V ,          \        W3,          \        P                  ! W4      \        .pMQ R\        ,          4       hV FP  o\        P                  ! S4      RJ g   Q hVS,          f   K,  \        P                  ! S4      VS,          8X  d   KP  Q h	  V F3  o\        P                  ! S4      RJ g   Q h\        \        V3R l4       K5  	  R# )	z(Test which domains are supported by DFM.zx, yr   NFzUnknown GROUND_TYPES: %sTc                  0   < \         P                  ! S 4      # ri   )r   _get_flint_func)r=   s   r    r!   "test_DFM_domains.<locals>.<lambda>  s    C,?,?,Gr$   )pythongmpy)r   r   r   r   r   r   fmpz_matfmpq_mat
frac_fieldr   r   rw   r   r   rt   )xy	supportedflint_funcsnot_supportedr   r=   s         @r    test_DFM_domainsr      s/    6?DA))	RA1r!#w7		 H	qE4
 qEqsGMM!
 	@0<??u##F+t333v*&&v.+f2EEEE   ##F+u444"$GH  r$   c                    \        W4      pVR8X  d   VP                  4       # VR8X  d   VP                  4       # VR8X  d'   \        R8w  d   \	        R4       VP                  4       # Q RT,          4       h)z&Make a DM of type typ over K from lol.r   r   r   r   z%DFM not supported in this ground typezUnknown type %s)r   rA   rs   r   r   rk   )r   typrp   rJ   s   &&& r    _DMr   
  se    
3
A
e|xxz	xxz	7"89xxz-'#--ur$   c                "    \        W\        4      # )z'Make a DM of type typ over ZZ from lol.)r   r   r   r   s   &&r    _DMZr         sr$   c                "    \        W\        4      # )z'Make a DM of type typ over QQ from lol.)r   r   r   s   &&r    _DMQr     r   r$   c                    \        V RV4      # )zMake a DDM over K from lol.r   r   r   rp   s   &&r    DM_ddmr   $      sE1r$   c                    \        V RV4      # )zMake a SDM over K from lol.r   r   r   s   &&r    DM_sdmr   )  r   r$   c                    \        V RV4      # )zMake a DFM over K from lol.r   r   r   s   &&r    DM_dfmr   .  r   r$   c                    \        V R4      # zMake a DDM from lol.r   r   r3   s   &r    DMZ_ddmr   3      Ur$   c                    \        V R4      # zMake a SDM from lol.r   r   r3   s   &r    DMZ_sdmr   8  r   r$   c                    \        V R4      # zMake a DFM from lol.r   r   r3   s   &r    DMZ_dfmr   =  r   r$   c                    \        V R4      # r   r   r3   s   &r    DMQ_ddmr   B  r   r$   c                    \        V R4      # r   r   r3   s   &r    DMQ_sdmr   G  r   r$   c                    \        V R4      # r   r   r3   s   &r    DMQ_dfmr   L  r   r$   r   c                L  aaa ^ ^.^^ ..pV ! V4      oSP                   w  r#. ROpV Fx  oV Fo  oRSu;8:  d   V8  dH   M MDRSu;8:  d   V8  d6   M M2SP                  SS4      \        VS,          S,          4      8X  g   Q hKY  \        \        VVV3R l4       Kq  	  Kz  	  R# )zTest getitem for DDM, etc.c                  (   < S P                  SS4      # ri   )getitem)rJ   ijs   r    r!   "test_XDM_getitem.<locals>.<lambda>e  s    199Q?r$   N)r   r      r   )r>   r   r   r   
IndexError)r   r   rb   r`   indicesrJ   r   r   s   &    @@@r    test_XDM_getitemr   V  s     q6Aq6
C
3A77DA#GAQ{{rQ{{yyA"SVAY-777z#:;	  r$   c                  a V ! . RO. RO.4      oSP                  ^ ^ \        ^4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^ ^\        ^4      4       SV ! . R	O. RO.4      8X  g   Q hSP                  ^ ^\        ^4      4       SV ! . R
O. RO.4      8X  g   Q hSP                  ^ R\        ^	4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^ R\        ^
4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^ R\        ^4      4       SV ! . RO. RO.4      8X  g   Q h\        \        V3R l4       \        \        V3R l4       SP                  ^^ \        ^4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^^\        ^4      4       SV ! . RO. RO.4      8X  g   Q hSP                  R^\        ^4      4       SV ! . RO. RO.4      8X  g   Q hSP                  R^\        ^4      4       SV ! . RO. RO.4      8X  g   Q h\        \        V3R l4       \        \        V3R l4       SP                  ^^\        ^ 4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^R\        ^ 4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^R\        ^ 4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^ ^ \        ^ 4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^ R\        ^ 4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^ ^ \        ^ 4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^ R\        ^ 4      4       SV ! . RO. RO.4      8X  g   Q hSP                  ^ R\        ^4      4       SV ! . RO. RO.4      8X  g   Q hR# )zTest setitem for DDM, etc.c                  <   < S P                  ^ ^\        ^4      4      # )r   setitemr   rl   s   r    r!   "test_XDM_setitem.<locals>.<lambda>      qyyAr"v6r$   c                  <   < S P                  ^ R\        ^4      4      # )r   r   rl   s   r    r!   r     s    qyyB27r$   c                  <   < S P                  ^^ \        ^4      4      # r   r   rl   s   r    r!   r     r   r$   c                  <   < S P                  R^ \        ^4      4      # )r   r   r   rl   s   r    r!   r     s    qyyQ27r$   Nr   r   r   )r         )   r   r   )r      r   )r   r      r   )r   r   	   r   )r   
   r   r   )   r   r   )   r   r   )r      r   )r      r   )r      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   s   &@r    test_XDM_setitemr   h  sX    	Iy!"AIIaBqEIy)****IIaBqEIy)****IIaBqEIy)****IIaRUIy)****IIaRVJ	*++++IIaRVK+,,,,
:67
:78IIaBrFK,----IIaBrFK-....IIb!RVK-....IIb!RVK-....
:67
:78IIaBqEK-....IIaRUK,----IIaRUK+,,,,IIaBqEJ	*++++IIaRUJ	*++++IIaBqEJ	*++++IIaRUIy)****IIaRUIy)****r$   c                   &   a  ] tR tRt o R tRtV tR# )_Slicedi  c                    V# ri    )selfitems   &&r    __getitem___Sliced.__getitem__  s    r$   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell__)__classdict__s   @r    r   r     s      r$   r   c                    V ! . RO. RO. RO.4      pVP                   ! \        R,          !  V8X  g   Q hVP                   ! \        R	,          !  V ! . RO. RO.4      8X  g   Q hVP                   ! \        R
,          !  V ! ^^.^^	..4      8X  g   Q hVP                   ! \        RRR13,          !  V ! ^^.^^..4      8X  g   Q hVP                   ! \        RRR^13,          !  V ! ^.^..4      8X  g   Q hVP                   ! \        R,          !  V ! ^^.^^.^^	..4      8X  g   Q hVP                   ! \        R,          !  V ! . RO. RO.4      8X  g   Q hVP                   ! \        R,          !  V ! ^^.^^	..4      8X  g   Q hVP                   ! \        RRRR13,          !  V ! ^^.^	^..4      8X  g   Q hVP                   ! \        RRR1R3,          !  V ! ^^	.^^..4      8X  g   Q hVP                   ! \        RRR1RRR13,          !  V ! ^	^.^^..4      8X  g   Q hVP                   ! \        RRRR13,          !  V ! . RO. RO. RO.4      8X  g   Q hVP                   ! \        RRR1R3,          !  V ! . RO. RO. RO.4      8X  g   Q hR# )r   NNNr   NNNNNr   r   r   r   r   r   r   r   r   r   )r   r   )r   r   )r   r   r   )r   r   )r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )extract_slice_slicer   s   & r    test_XXM_extract_slicer     sp   
Iy),-A??F3K(A---??F4L)RI0F-GGGG??F5M*b1a&1a&1A.BBBB??F2crc6N+rAq6Aq62B/CCCC??F2er!e8,-aS1#J?????F5M*b1a&1a&1a&1I.JJJJ??F5M*b)Y1G.HHHH??F7O,QFQF3C0DDDD??F3tt8,-aVaV4D1EEEE??F4R48,-aVaV4D1EEEE??F4R4"9-."q!fq!f5E2FFFF??F1TrT6N+r9i2S/TTTT??F4R46N+r9i2S/TTTTr$   c                   a V ! . RO. RO. RO.4      oSP                  . R	O. R	O4      S8X  g   Q hSP                  ^^.^^.4      V ! ^^.^^	..4      8X  g   Q hSP                  ^^.^ ^.4      V ! ^^.^^..4      8X  g   Q hSP                  ^^.^ ^.4      V ! ^^.^^	..4      8X  g   Q hSP                  ^^.^ .4      V ! ^.^..4      8X  g   Q hSP                  ^^.. 4      V ! ^..4      P                  R
\        4      8X  g   Q hSP                  . . R	O4      V ! ^..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       V ! . RO. RO. RO.4      pVP                  ^^.^^.4      V ! ^ ^ .^ ^ ..4      8X  g   Q hR# )r   c                  0   < S P                  ^^.^ ^.4      # )r   extractrl   s   r    r!   "test_XXM_extract.<locals>.<lambda>      qyy!Q!Q8r$   c                  0   < S P                  ^^.^ R.4      # )r   r   r   rl   s   r    r!   r     s    qyy!Q!R9r$   c                  0   < S P                  ^^.^ ^.4      # )r   r   rl   s   r    r!   r     r   r$   c                  0   < S P                  R^.^^.4      # )r   r   r   rl   s   r    r!   r     s    qyy"a1a&9r$   Nr   r   r   r   r9   )r   r   r   )r   zerosr   r   r   )r   BrJ   s   & @r    test_XXM_extractr     s    	Iy),-A99Y	*a///99aVaV$QFQF+;(<<<<99aVaV$QFQF+;(<<<<99aVaV$QFQF+;(<<<<99aVaS!R!qc
^33399aVR BuIOOFB$????99R#rA3%yvr'BBBB
:89
:9:
:89
:9:
Iy),-A99aVaV$QFQF+;(<<<<r$   c            	         \        . RO. RO. RO.R\        4      p \        V 4      R8X  g   Q h\        V P                  4       4      R8X  g   Q h\        V P	                  4       4      R8X  g   Q h\        V 4      R8X  g   Q h\        V P                  4       4      R8X  g   Q h\        V P	                  4       4      R8X  g   Q h\        ^ ^ \        ^4      ^\        ^4      /^^ \        ^4      //R\        4      p\        V4      R8X  g   Q h\        VP                  4       4      R8X  g   Q h\        VP	                  4       4      R8X  g   Q h\        V4      R8X  g   Q h\        R	8w  dB   \        VP                  4       4      R
8X  g   Q h\        VP	                  4       4      R8X  g   Q hM@\        VP                  4       4      R8X  g   Q h\        VP	                  4       4      R8X  g   Q h\        R8X  d   \        V P                  4       4      R8X  g   Q h\        VP                  4       4      R8X  g   Q h\        V P                  4       4      R8X  g   Q h\        VP                  4       4      R8X  g   Q hR# R# )r   z;DomainMatrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]], (3, 3), ZZ)z![[1, 2, 3], [4, 5, 6], [7, 8, 9]]zE{0: {0: 1, 1: 2, 2: 3}, 1: {0: 4, 1: 5, 2: 6}, 2: {0: 7, 1: 8, 2: 9}}z2DDM([[1, 2, 3], [4, 5, 6], [7, 8, 9]], (3, 3), ZZ)zVSDM({0: {0: 1, 1: 2, 2: 3}, 1: {0: 4, 1: 5, 2: 6}, 2: {0: 7, 1: 8, 2: 9}}, (3, 3), ZZ)z6DomainMatrix({0: {0: 1, 1: 2}, 1: {0: 3}}, (2, 2), ZZ)z[[1, 2], [3, 0]]z{0: {0: 1, 1: 2}, 1: {0: 3}}r   z!DDM([[1, 2], [3, 0]], (2, 2), ZZ)z-SDM({0: {0: 1, 1: 2}, 1: {0: 3}}, (2, 2), ZZ)z5DDM([[mpz(1), mpz(2)], [mpz(3), mpz(0)]], (2, 2), ZZ)z<SDM({0: {0: mpz(1), 1: mpz(2)}, 1: {0: mpz(3)}}, (2, 2), ZZ)r   z2DFM([[1, 2, 3], [4, 5, 6], [7, 8, 9]], (3, 3), ZZ)z!DFM([[1, 2], [3, 0]], (2, 2), ZZ)Nr   r   r   r   r   rN   )r   r   strrA   rs   reprr   rk   )rJ   r   s     r    test_XXM_strr    s   iI6CAq6EF F Fqxxz?+, , ,qxxz?OP P P 7EF F F
<= = =
`a a a 	a!RUAr!u-q1be*=vrJAq6@A A Aqxxz?  qxxz?&' ' ' 7@A A A vAHHJ/0 	0 0AHHJ;< 	< < AHHJCD 	D DAHHJJK 	K K w188:/0 	0 0188: 	  AHHJ@A 	A AAHHJ/0 	0 0 r$   c                   aa \        V ! ^ ..4      4      o. RO. RO.p\        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      ..p\        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      \        ^4      ..oSP                  VR\        4      V ! V4      8X  g   Q h\        \        VV3R l4       R# )r   c                  2   < S P                  SR\        4      # r&   )	from_listr   )T
lol_ZZ_bads   r    r!   $test_XXM_from_list.<locals>.<lambda>  s    AKK
FB$Gr$   Nr   r   r   r   r   )typer   r  r   r	   )r   r   lol_ZZr	  r
  s   &  @@r    test_XXM_from_listr    s    R!YAi
 C!ubeRU#beRUBqE%:;Fa5"Q%A'"Q%A1r!u)EFJ;;vvr*bg555
?GHr$   c                     . RO. RO.pV ! V4      P                  4       \        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      ..8X  g   Q hR# r   Nr  r   )to_listr   r   r   s   & r    test_XXM_to_listr    sP    i
 Cc7??"Q%A1!6A1r!u8M NNNNr$   c           	          . RO. RO.pV ! V4      P                  4       \        ^4      \        ^4      \        ^4      \        ^4      \        ^4      \        ^4      .8X  g   Q hR# r  )to_list_flatr   r  s   & r    test_XXM_to_list_flatr  #  sL    i
 Cc7!beRUBqE2a5"Q%A%OOOOr$   c                 *  aa \        V ! ^ ..4      4      o\        ^4      \        ^4      \        ^4      \        ^4      \        ^4      \        ^4      .oSP                  SR\        4      V ! . RO. RO.4      8X  g   Q h\        \        VV3R l4       R# )r   c                  2   < S P                  SR\        4      # )r   r  )from_list_flatr   )r	  flats   r    r!   )test_XXM_from_list_flat.<locals>.<lambda>.  s    A$4$4T62$Fr$   Nr   r  r   )r  r   r  r   r	   )r   r	  r  s   &@@r    test_XXM_from_list_flatr  )  sp    R!YAqE2a5"Q%A1r!u5DD&"-Y	4J1KKKK
?FGr$   c                     V ! . RO. RO. RO.4      p\        ^4      \        ^4      \        ^4      .pRpVP                  4       W#VP                  338X  g   Q hR# )r   Nr   r   r   r   r   r   r   r7   )r   r   rN   )r   
to_flat_nzr>   )r   Melementsr   s   &   r    test_XXM_to_flat_nzr%  1  sP    
Iy),-A1r!ube$H&G<<>h!''(:;;;;r$   c                   aaa \        V ! ^ ..4      4      o\        ^4      \        ^4      \        ^4      .oRoSR3pV ! . RO. RO. RO.4      pSP                  SV\        4      V8X  g   Q h\        \        VVV3R l4       R# )r   c                  6   < S P                  SSR3\        4      # r   )from_flat_nzr   )r	  r$  r   s   r    r!   'test_XXM_from_flat_nz.<locals>.<lambda>A  s    ANN8gv=NPR$Sr$   Nr!  r  r  r   r   )r  r   r(  r   r	   )r   dataresultr	  r$  r   s   &  @@@r    test_XXM_from_flat_nzr,  9  sr    R!YA1r!ube$H&GVDIy12F>>(D"-777
?STr$   c                     ^ ^ \        ^4      ^\        ^4      /^^ \        ^4      ^\        ^4      ^\        ^4      //pV ! . RO. RO.4      P                  4       V8X  g   Q hR# )r   Nr   r   r   r   )r   to_dodr   r,   s   & r    test_XXM_to_dodr1  D  s[    q"Q%BqE"A2a5!RUAr!u'E
FCy)$%,,.#555r$   c                     \        V ! ^ ..4      4      p^ ^ \        ^4      ^\        ^4      /^^ \        ^4      ^\        ^4      ^\        ^4      //pVP                  VR\        4      V ! . RO. RO.4      8X  g   Q hR# )r   Nr   r.  r   )r  r   from_dodr   r	  r,   s   &  r    test_XXM_from_dodr5  J  sp    R!YAq"Q%BqE"A2a5!RUAr!u'E
FC::c62&"i-C*DDDDr$   c                     R\        ^4      R\        ^4      R\        ^4      R\        ^4      R\        ^4      /pV ! . RO. RO.4      P                  4       V8X  g   Q hR# 	r   Nr7   r8   r   r   r   r   r   r   r.  r   )r   to_dokr0  s   & r    test_XXM_to_dokr<  Q  sT    2a5&"Q%2a5&"Q%A8Cy)$%,,.#555r$   c                     \        V ! ^ ..4      4      pR\        ^4      R\        ^4      R\        ^4      R\        ^4      R\        ^4      /pVP                  VR\        4      V ! . RO. R	O.4      8X  g   Q hR# )
r   Nr7   r8   r8  r9  r:  r   r.  r   )r  r   from_dokr4  s   &  r    test_XXM_from_dokr?  X  si    R!YA2a5&"Q%2a5&"Q%A8C::c62&"i-C*DDDDr$   c                     \        ^4      \        ^4      \        ^4      \        ^4      \        ^4      .p\        V ! . RO. RO.4      P                  4       4      V8X  g   Q hR# )r   Nr.  r   )r   sortediter_values)r   valuess   & r    test_XXM_iter_valuesrD  `  sL    eRUBqE2a5"Q%0F"i+,88:;vEEEr$   c                     R\        ^4      3R\        ^4      3R\        ^4      3R\        ^4      3R\        ^4      3.p\        V ! . RO. RO.4      P                  4       4      V8X  g   Q hR# r7  )r   rA  
iter_items)r   itemss   & r    test_XXM_iter_itemsrH  f  sd    be_vr!uobe_vr!uo1@E"i+,779:eCCCr$   c                     \        V ! ^ ..4      4      p\        . RO. RO.R\        4      pVP                  V4      V ! . RO. RO.4      8X  g   Q hR# )r   Nr  r   r   )r  r   r   from_ddm)r   r	  ddms   &  r    test_XXM_from_ddmrL  m  sF    R!YA
y)$fb
1C::c?b)Y!78888r$   c                 ~    \        V ! ^ ..4      4      pVP                  R\        4      V ! . RO. RO.4      8X  g   Q hR# )r   Nr   r   )r  r   r   r   r	  s   & r    test_XXM_zerosrO  t  s6    R!YA7762"i%;"<<<<r$   c                 ~    \        V ! ^ ..4      4      pVP                  R\        4      V ! . RO. RO.4      8X  g   Q hR# )r   Nr   )r   r   r   )r  onesr   rN  s   & r    test_XXM_onesrR  z  s6    R!YA66&"Y	$:!;;;;r$   c                     \        V ! ^ ..4      4      pVP                  ^\        4      V ! . RO. RO. RO.4      8X  g   Q hVP                  R\        4      V ! ^^ .^ ^.^ ^ ..4      8X  g   Q hR# )r   Nr   r   r   r   r   r   r   r'   )r  eyer   rN  s   & r    test_XXM_eyerW    sh    R!YA55B<2y)Y?@@@@55QFQFQF#; <<<<r$   c                     \        V ! ^ ..4      4      pVP                  . RO\        4      V ! . RO. RO. RO.4      8X  g   Q hR# )r   Nr   r   )r   r   r   r   )r  diagr   rN  s   & r    test_XXM_diagrZ    s8    R!YA66)R B	9i'H$IIIIr$   c                 n    V ! . RO. RO.4      pVP                  4       V ! ^^.^^.^^..4      8X  g   Q hR# r   Nr   r   )	transposer   s   & r    test_XXM_transposer^    s=    
Iy!"A;;=BAAA78888r$   c                     V ! . RO. RO.4      pV ! . RO. RO.4      pV ! . RO. RO.4      pVP                  V4      V8X  g   Q hR# r   Nr   r   r   r   r   r   r      )addr   rJ   r   Cs   &   r    test_XXM_addrg    sC    
Iy!"A
Iy!"A
I{#$A558q==r$   c                     V ! . RO. RO.4      pV ! . RO. RO.4      pV ! . RO. RO.4      pVP                  V4      V8X  g   Q hR# )r   Nr   r   r   )subre  s   &   r    test_XXM_subrj    sC    
Iy!"A
Iy!"A
Iy!"A558q==r$   c                     V ! . RO. RO.4      p\        ^4      pVP                  V4      V ! . RO. RO.4      8X  g   Q hVP                  V4      V ! . RO. RO.4      8X  g   Q hR# r`  )r   mulrmul)r   rJ   bs   &  r    test_XXM_mulro    sZ    
Iy!"A
1A558r9k2333366!9I{34444r$   c                     V ! . RO. RO.4      pV ! ^^.^^.^^..4      pV ! ^^.^1^@..4      pVP                  V4      V8X  g   Q hR# r\  )matmulre  s   &   r    test_XXM_matmulrr    s[    
Iy!"A
QFQFQF#$A
RHr2h A88A;!r$   c                     V ! . RO. RO.4      pV ! . RO. RO.4      pV ! . RO. RO.4      pVP                  V4      V8X  g   Q hR# )r   Nr   r   )r   r   r   )r      $   )mul_elementwisere  s   &   r    test_XXM_mul_elementwiserw    sH    
Iy!"A
Iy!"A
I|$%AQ1$$$r$   c                 l    V ! . RO. RO.4      pV ! . RO. RO.4      pVP                  4       V8X  g   Q hR# )r   Nr   r   )r   r   r   )r   i)neg)r   rJ   rf  s   &  r    test_XXM_negr{    s2    
Iy!"A
L,'(A557a<<r$   c                     V ! . RO. RO.\         4      pV ! . RO. RO.\        4      pVP                  \        4      V8X  g   Q hVP                  \         4      V8X  g   Q hR# r\  )r   r   ro   r   rJ   r   s   &  r    test_XXM_convert_tor~    sR    
Iy!2&A
Iy!2&A<<q   <<q   r$   c           	      |    V ! . RO. RO. RO. RO. RO. RO.4      pVP                  4       ^ ^.^.^^.^..8X  g   Q hR# )r   N)r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )sccr   s   & r    test_XXM_sccr    sN    
 	A 5571vsQFQC0000r$   c                     V ! . RO. RO.4      pV ! ^^.^	^
..4      pV ! . RO. RO.4      pV ! . RO. RO.4      pVP                  V4      V8X  g   Q hVP                  W#4      V8X  g   Q hR# )r   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   )hstackr   rJ   r   rf  ABCs   &    r    test_XXM_hstackr    sy    
Iy!"A
QFQGA
O-./A
,.0 1C88A;!88A>S   r$   c           	          V ! . RO. RO.4      pV ! . RO.4      pV ! . RO. RO. RO.4      pV ! . RO. RO. RO. RO. RO. RO.4      pVP                  V4      V8X  g   Q hVP                  W#4      V8X  g   Q hR# )r   Nr   r   r   )vstackr  s   &    r    test_XXM_vstackr    sp    
Iy!"A
I;A
Iy),-A
iIy)YO
PC88A;!88A>S   r$   c                 z    V ! . RO. RO.4      pV ! . RO. RO.4      pVP                  R \        4      V8X  g   Q hR# )r   c                     ^V ,          # r   r   )r   s   &r    r!   $test_XXM_applyfunc.<locals>.<lambda>  s    1r$   Nr   r   ra  rb  )	applyfuncr   r}  s   &  r    test_XXM_applyfuncr    s9    
Iy!"A
I{#$A;;}b)Q...r$   c                    V ! . RO. RO.4      P                  4       RJ g   Q hV ! . RO. RO.4      P                  4       RJ g   Q hV ! . 4      P                  4       RJ g   Q hV ! . . .4      P                  4       RJ g   Q hR# )r   TFNr   )r   r   r   r   )is_upperr   s   &r    test_XXM_is_upperr    s|    y)$%..0D888y)$%..0E999b6??$$$r2h<  "d***r$   c                     V ! . RO. RO.4      P                  4       RJ g   Q hV ! . RO. RO.4      P                  4       RJ g   Q hR# )r   TFNr   )r   r   r   r   r   )is_lowerr  s   &r    test_XXM_is_lowerr    sD    y)$%..0D888y)$%..0E999r$   c                     V ! . RO. RO.4      P                  4       RJ g   Q hV ! . RO. RO.4      P                  4       RJ g   Q hR# )r   TFNr   r   r   r   r   r   )is_diagonalr  s   &r    test_XXM_is_diagonalr     sD    y)$%113t;;;y)$%113u<<<r$   c                 P    V ! . RO. RO.4      P                  4       ^^.8X  g   Q hR# )r   Nr   r  )diagonalr  s   &r    test_XXM_diagonalr    s'    y)$%..0QF:::r$   c                     V ! . RO. RO.4      P                  4       RJ g   Q hV ! . RO. RO.4      P                  4       RJ g   Q hR# )r   TFNr   r   )is_zero_matrixr  s   &r    test_XXM_is_zero_matrixr    sD    y)$%446$>>>y)$%446%???r$   c                     V ! . RO. RO. RO.4      P                  4       ^ 8X  g   Q hV ! . RO. RO. RO.4      P                  4       R8X  g   Q hR# )r   Nr   r   r   r   r   r   r   )detr  s   &r    test_XXM_det_ZZr    sH    y)Y/0446!;;;y)Z015572===r$   c                 d    V ! RR.RR..4      pVP                  4       \        R^
4      8X  g   Q hR# )r   Nr:  r   r   r   r   r   r   )r  r   r   dM1s   & r    test_XXM_det_QQr    s3    
uenuen-
.C7792b	!!!r$   c                 @  aa V ! RR.RR..4      pV ! RR	.R
R..4      pVP                  4       V8X  g   Q hVP                  V4      V ! ^^ .^ ^..4      8X  g   Q hV ! RR.RR..4      o\        \        V3R l4       V ! . RO. RO.4      o\        \        V3R l4       R# )r   c                  $   < S P                  4       # ri   inv)dM3s   r    r!   !test_XXM_inv_QQ.<locals>.<lambda>%  s    swwyr$   c                  $   < S P                  4       # ri   r  )dM4s   r    r!   r  (  s    3779r$   Nr:  r   r  r  )ir   )   r   )r   r   )ry  r   r   r   r   r   )r:  r   r  )r  r  r:  )r  rq  r   r   r   )r   r  dM2r  r  s   &  @@r    test_XXM_inv_QQr    s    
uenuen-
.C
vv 01
2C779::c?b1a&1a&!12222
uenuen-
.C
%'89
#%:;
<C
!#45r$   c                 R   a V ! . RO. RO. RO.4      o\        \        V3R l4       R# )r   c                  $   < S P                  4       # ri   r  )r  s   r    r!   !test_XXM_inv_ZZ.<locals>.<lambda>0  s    #'')r$   Nr   r   r  r   r
   r  s   &@r    test_XXM_inv_ZZr  +  s!    
iJ/
0C =+,r$   c                 Z    V ! . RO. RO. RO.4      pVP                  4       . RO8X  g   Q hR# )r   Nr   r   r  )r   iir   )charpolyr  s   & r    test_XXM_charpoly_ZZr  3  s(    
iJ/
0C<<>----r$   c                     V ! RR.RR..4      pVP                  4       \        ^^4      \        R^
4      \        R^
4      .8X  g   Q hR# )r   Nr:  r   r  r  ir   )r  r   r  s   & r    test_XXM_charpoly_QQr  9  sF    
uenuen-
.C<<>b1gr#bz2b9====r$   c                 x   aa V ! . RO. RO. RO.4      oV ! . RO. RO. RO.4      o\        \        VV3R l4       R# )	r   c                  &   < S P                  S4      # ri   lu_solve)r  r  s   r    r!   &test_XXM_lu_solve_ZZ.<locals>.<lambda>C  s    #,,s"3r$   Nr   r   r  r   rT  rU  r  )r   r  r  s   &@@r    test_XXM_lu_solve_ZZr  ?  s0    
iJ/
0C
iI.
/C
=34r$   c                 :  aa V ! . RO. RO. RO.4      pV ! . RO. RO. RO.4      pV ! . R	O. R
O. RO.4      pVP                  V4      Tu;8X  d   VP                  4       8X  g   Q h Q hV ! . RO. RO.4      oV ! ^^ .^ ^.^ ^ ..4      o\        \        VV3R l4       R# )r   c                  &   < S P                  S4      # ri   r  )r  dM5s   r    r!   &test_XXM_lu_solve_QQ.<locals>.<lambda>O  s    c!2r$   Nr   r   r  r   rT  rU  )r   r   )r   r   r9  )r  )r   r   r   r   )r9  r  r9  )r  r  r   r   )r   r  r  r  r  r  s   &   @@r    test_XXM_lu_solve_QQr  F  s    
iJ/
0C
iI.
/C
#$:;OP
QC<<0swwy00000
i#
$C
q!fq!fq!f%
&C
<23r$   c                 n    V ! . RO. RO. RO.4      pVP                  4       V ! . RO.4      ^.38X  g   Q hR# )r   Nr   r   r   )r   r   r   )	nullspacer  s   & r    test_XXM_nullspace_QQr  R  s7    
iI.
/C ==?r:,/!5555r$   c                     V ! . RO. RO.4      pV ! . RO. RO.4      pV ! ^^ .R^..4      pVP                  4       V8X  g   Q hVP                  4       W#38X  g   Q hVP                  V4      V8X  g   Q hR# )r   Nr   )r   r   r  ry  )r   ry  r   )llllll_transformrq  )r   r#  M_lllr	  s   &   r    test_XXM_lllr  [  sx    
Iz"#A	;'(E
QFRGA557e??
***88A;%r$   c                 L   \        ^4      \        R4      .\        R4      \        ^4      ..pV ! V4      pVP                  4       w  r4VP                  V4      V8X  g   Q hVP                  4       P                  V4      P                  '       g   Q hVP
                  '       g   Q hR# )r   Nr   r   r   qrrq  r]  r  r  r   r   rJ   QRs   &    r    test_XXM_qr_mixed_signsr  e  s    qE2b6?RVRUO
,C
3A446DA88A;!KKM  #00000::::r$   c                    \        ^
4       UUu. uF-  p\        ^
4       Uu. uF  p\        W,           4      NK  	  upNK/  	  pppV ! V4      pVP                  4       w  rVVP                  V4      V8X  g   Q hVP	                  4       P                  V4      P
                  '       g   Q hVP                  '       g   Q hR# u upi u uppi )r   N)ranger   r  rq  r]  r  r  )r   r   r   r   rJ   r  r  s   &      r    test_XXM_qr_large_matrixr  o  s    389
=9auRy)y!BquIy)9C
=
3A446DA88A;!KKM  #00000:::: *
=s   CB>C>Cc                 r   \        V ! ^ ..4      4      pVP                  ^\        4      pVP                  4       w  r4W28X  g   Q hWB8X  g   Q hVP	                  4       P                  V4      P                  '       g   Q hVP                  '       g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hR# )r   Nr  )	r  rV  r   r  r]  rq  r  r  r>   r   r	  rJ   r  r  s   &    r    test_XXM_qr_identity_matrixr  y  s    R!YA	aA446DA6M66M6KKM  #00000::::77f77fr$   c                 L   \        ^4      \        ^4      .\        ^4      \        ^4      ..pV ! V4      pVP                  4       w  r4VP                  V4      V8X  g   Q hVP                  4       P                  V4      P                  '       g   Q hVP
                  '       g   Q hR# r   Nr  r  s   &    r    test_XXM_qr_square_matrixr        qE2a5>BqE2a5>
*C
3A446DA88A;!KKM  #00000::::r$   c                 L   \        ^4      \        ^ 4      .\        ^4      \        ^ 4      ..pV ! V4      pVP                  4       w  r4VP                  V4      V8X  g   Q hVP                  4       P                  V4      P                  '       g   Q hVP
                  '       g   Q hR# r  r  r  s   &    r    $test_XXM_qr_matrix_with_zero_columnsr    r  r$   c                 L   \        ^4      \        ^4      .\        ^4      \        ^4      ..pV ! V4      pVP                  4       w  r4VP                  V4      V8X  g   Q hVP                  4       P                  V4      P                  '       g   Q hVP
                  '       g   Q hR# r   Nr  r  s   &    r    &test_XXM_qr_linearly_dependent_columnsr    r  r$   c                    \        ^4      \        ^4      .\        ^4      \        ^4      ..pV ! V4      p\        P                  ! \        4      ;_uu_ 4        VP	                  4        RRR4       R#   + '       g   i     R# ; ir  )r   pytestr   r
   r  )r   r   rJ   s   &  r    test_XXM_qr_non_fieldr    sT    qE2a5>BqE2a5>
*C
3A	}	%	%	 
&	%	%	%s   A22B	c                 L   \        ^4      \        ^4      .\        ^4      \        ^4      ..pV ! V4      pVP                  4       w  r4VP                  V4      V8X  g   Q hVP                  4       P                  V4      P                  '       g   Q hVP
                  '       g   Q hR# r  r  r  s   &    r    test_XXM_qr_fieldr    r  r$   c                 v   \        ^4      \        ^4      .\        ^4      \        ^4      .\        ^4      \        ^4      ..pV ! V4      pVP                  4       w  r4VP                  V4      V8X  g   Q hVP                  4       P                  V4      P                  '       g   Q hVP
                  '       g   Q hR# r  r  r  s   &    r    test_XXM_qr_tall_matrixr    s    qE2a5>BqE2a5>BqE2a5>
:C
3A446DA88A;!KKM  #00000::::r$   c                 t   \        ^4      \        ^4      \        ^4      .\        ^4      \        ^4      \        ^4      ..pV ! V4      pVP                  4       w  r4VP                  V4      V8X  g   Q hVP                  4       P                  V4      P                  '       g   Q hVP
                  '       g   Q hR# r  r  r  s   &    r    test_XXM_qr_wide_matrixr    s    qE2a5"Q% 2a5"Q%A"7
8C
3A446DA88A;!KKM  #00000::::r$   c                    \        V ! ^ ..4      4      pVP                  R\        4      pVP                  4       w  r4VP	                  V4      P
                  VP
                  8X  g   Q hVP                  4       P	                  V4      P                  '       g   Q hVP                  '       g   Q hVP
                  R8X  g   Q hVP
                  R8X  g   Q hR# )r   Nr7   	r  r   r   r  rq  r>   r]  r  r  r  s   &    r    test_XXM_qr_empty_matrix_0x0r        R!YA	A446DA88A;'''KKM  #00000::::77f77fr$   c                    \        V ! ^ ..4      4      pVP                  R\        4      pVP                  4       w  r4VP	                  V4      P
                  VP
                  8X  g   Q hVP                  4       P	                  V4      P                  '       g   Q hVP                  '       g   Q hVP
                  R8X  g   Q hVP
                  R8X  g   Q hR# )r   Nr9   r7   r  r  s   &    r    test_XXM_qr_empty_matrix_2x0r    r  r$   c                    \        V ! ^ ..4      4      pVP                  R\        4      pVP                  4       w  r4VP	                  V4      P
                  VP
                  8X  g   Q hVP                  4       P	                  V4      P                  '       g   Q hVP                  '       g   Q hVP
                  R8X  g   Q hVP
                  R8X  g   Q hR# )r   Nr8   r7   r  r  s   &    r    test_XXM_qr_empty_matrix_0x2r    r  r$   c                 *   V ! ^^.^^..4      pVP                  4       w  r#rEVP                  \        4      pVP                  \        4      pVP                  \        4      pVP                  \        4      p	VP                  \        4      p
VP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hW ! ^^ .^ ^..4      8X  g   Q hW0! ^^ .^R..4      8X  g   Q hW@! ^^ .^ R..4      8X  g   Q hWP! ^^.^ R..4      8X  g   Q hVP	                  V	P                  4       4      P	                  V
4      VP	                  V4      8X  g   Q hR# )r   Nr   )ffluro   r   r>   rq  r  )r   rJ   PLDUA_fieldP_fieldL_fieldD_fieldU_fields   &          r    test_XXM_fflur    sw   
QFQFAJA!ll2Gll2Gll2Gll2Gll2G77agg77agg77agg77aggQFQF#$$$$QFQG$%%%%QFQG$%%%%QFQG$%%%%>>'++-(//8GNN7<SSSSr$   )nsympy.external.gmpyr   sympyr   r   r   r   r   sympy.polys.matrices.exceptionsr	   r
   r   r   r   !sympy.polys.matrices.domainmatrixr   r   r   r   r   sympy.testing.pytestr   r   r  rL   rf   r   r   r   r   r   r   r   r   r   r   r   r   r   r   DM_allDMZ_allDMQ_allmarkparametrizer   r   r   r   r   r   r  r  r  r  r  r%  r,  r1  r5  r<  r?  rD  rH  rL  rO  rR  rW  rZ  r^  rg  rj  ro  rr  rw  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  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	  " - + +  N M - XGv3&l)JX'IT. 










 &&	!GW
%GW
% w'< (<" w'?+ (?+D 
 
 w'U (U" w'= (=*30l w'I (I w'O (O
 w'P (P
 w'H (H w'< (< w'U (U w'6 (6
 w'E (E w'6 (6 w'E (E w'F (F
 w'D (D w'9 (9 w'= (=
 w'< (<
 w'= (= w'J (J
 w'9 (9
 w' ( w' ( w'5 (5 w' ( w'% (% w' ( v&! '! w'1 (1 w'! (! w'! (! w'/ (/ w'+ (+ w': (:
 w'= (=
 w'; (; w'@ (@
 w'> (>
 w'" ("
 w'
6 (
6 w'- (- w'. (.
 w'> (>
 w'5 (5 w'4 (4 w'6 (6 w'  (  w' ( w' ( w'	 (	 w' ( w' ( w' ( w' ( w' ( w' ( w' ( w' ( w' ( w' ( w'T (Tr$   