§
    OŠtjRt  ã                   ó   — d dl mZ d dlmZmZmZmZmZ d dlm	Z	m
Z
mZmZmZ d dlmZmZmZmZmZ d dlmZmZ d dl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'ee e!gZ(e"e#e$gZ)e%e&e'gZ*ej+         ,                    de)¦  «        d„ ¦   «         Z-ej+         ,                    de)¦  «        d„ ¦   «         Z. G d„ d¦  «        Z/ e/¦   «         Z0ej+         ,                    de)¦  «        d„ ¦   «         Z1ej+         ,                    de)¦  «        d„ ¦   «         Z2d„ Z3ej+         ,                    de)¦  «        d„ ¦   «         Z4ej+         ,                    de)¦  «        d „ ¦   «         Z5ej+         ,                    de)¦  «        d!„ ¦   «         Z6ej+         ,                    de)¦  «        d"„ ¦   «         Z7ej+         ,                    de)¦  «        d#„ ¦   «         Z8ej+         ,                    de)¦  «        d$„ ¦   «         Z9ej+         ,                    de)¦  «        d%„ ¦   «         Z:ej+         ,                    de)¦  «        d&„ ¦   «         Z;ej+         ,                    de)¦  «        d'„ ¦   «         Z<ej+         ,                    de)¦  «        d(„ ¦   «         Z=ej+         ,                    de)¦  «        d)„ ¦   «         Z>ej+         ,                    de)¦  «        d*„ ¦   «         Z?ej+         ,                    de)¦  «        d+„ ¦   «         Z@ej+         ,                    de)¦  «        d,„ ¦   «         ZAej+         ,                    de)¦  «        d-„ ¦   «         ZBej+         ,                    de)¦  «        d.„ ¦   «         ZCej+         ,                    de)¦  «        d/„ ¦   «         ZDej+         ,                    de)¦  «        d0„ ¦   «         ZEej+         ,                    de)¦  «        d1„ ¦   «         ZFej+         ,                    de)¦  «        d2„ ¦   «         ZGej+         ,                    de)¦  «        d3„ ¦   «         ZHej+         ,                    de)¦  «        d4„ ¦   «         ZIej+         ,                    de)¦  «        d5„ ¦   «         ZJej+         ,                    de)¦  «        d6„ ¦   «         ZKej+         ,                    de(¦  «        d7„ ¦   «         ZLej+         ,                    de)¦  «        d8„ ¦   «         ZMej+         ,                    de)¦  «        d9„ ¦   «         ZNej+         ,                    de)¦  «        d:„ ¦   «         ZOej+         ,                    de)¦  «        d;„ ¦   «         ZPej+         ,                    de)¦  «        d<„ ¦   «         ZQej+         ,                    de)¦  «        d=„ ¦   «         ZRej+         ,                    de)¦  «        d>„ ¦   «         ZSej+         ,                    de)¦  «        d?„ ¦   «         ZTej+         ,                    de)¦  «        d@„ ¦   «         ZUej+         ,                    de)¦  «        dA„ ¦   «         ZVej+         ,                    de*¦  «        dB„ ¦   «         ZWej+         ,                    de*¦  «        dC„ ¦   «         ZXej+         ,                    de)¦  «        dD„ ¦   «         ZYej+         ,                    de)¦  «        dE„ ¦   «         ZZej+         ,                    de*¦  «        dF„ ¦   «         Z[ej+         ,                    de)¦  «        dG„ ¦   «         Z\ej+         ,                    de*¦  «        dH„ ¦   «         Z]ej+         ,                    de*¦  «        dI„ ¦   «         Z^ej+         ,                    de)¦  «        dJ„ ¦   «         Z_ej+         ,                    de*¦  «        dK„ ¦   «         Z`ej+         ,                    de*¦  «        dL„ ¦   «         Zaej+         ,                    de*¦  «        dM„ ¦   «         Zbej+         ,                    de*¦  «        dN„ ¦   «         Zcej+         ,                    de*¦  «        dO„ ¦   «         Zdej+         ,                    de*¦  «        dP„ ¦   «         Zeej+         ,                    de)¦  «        dQ„ ¦   «         Zfej+         ,                    de*¦  «        dR„ ¦   «         Zgej+         ,                    de*¦  «        dS„ ¦   «         Zhej+         ,                    de*¦  «        dT„ ¦   «         Ziej+         ,                    de*¦  «        dU„ ¦   «         Zjej+         ,                    de*¦  «        dV„ ¦   «         Zkej+         ,                    de*¦  «        dW„ ¦   «         Zlej+         ,                    de)¦  «        dX„ ¦   «         ZmdS )Yé    )ÚGROUND_TYPES)ÚZZÚQQÚGFÚZZ_IÚsymbols)ÚDMBadInputErrorÚDMDomainErrorÚDMNonSquareMatrixErrorÚDMNonInvertibleMatrixErrorÚDMShapeError)ÚDMÚDomainMatrixÚDDMÚSDMÚDFM)ÚraisesÚskipNc                  ó’
  ‡
‡‡‡‡— t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggŠt          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœdœŠg } g }g g g}i }i }i }t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        ggŠt          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        t          d	¦  «        dœdœŠt          g}t          g}t          d
k    r|                     t
          ¦  «         |D �]ñŠ
 ‰
‰dt           ¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚|j        t           k    sJ ‚|j	        dk    sJ ‚‰
t
          ur%t          j
        |d         d         ¦  «        du sJ ‚n#t          j
        |j        d         ¦  «        du sJ ‚t          ‰dt           ¦  «        }	‰
t
          u r-|	j        |k    sJ ‚|	j                             ¦   «         |k    sJ ‚ndt          d
k    r-|	j                             ¦   «         |k    sJ ‚|	j        |k    sJ ‚n,|	j        |k    sJ ‚|	j                             ¦   «         |k    sJ ‚ ‰
| dt           ¦  «        j	        dk    sJ ‚ ‰
|dt           ¦  «        j	        dk    sJ ‚ ‰
|dt           ¦  «        j	        dk    sJ ‚t          t          ˆ
ˆfd„¦  «         t          t          ˆ
ˆfd„¦  «         t          t          ˆ
ˆfd„¦  «         �Œó|D �]5Š
 ‰
‰dt           ¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚|j        t           k    sJ ‚|j	        dk    sJ ‚t          j
        |d         d         ¦  «        du sJ ‚t          ‰dt           ¦  «        j        |k    sJ ‚ ‰
|dt           ¦  «        j	        dk    sJ ‚ ‰
|dt           ¦  «        j	        dk    sJ ‚ ‰
|dt           ¦  «        j	        dk    sJ ‚t          t          ˆ
ˆfd„¦  «         t          t          ˆ
ˆfd„¦  «         t          t          ˆ
ˆfd„¦  «         �Œ7t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         dS )zTest the DDM, etc constructors.é   é   é   é   é   é   ©r   r   ©r   r   r   é   Úflint©r   r   r   T©r   r   ©r   r   ©r   r   c                  ó(   •—  ‰ ‰dt           ¦  «        S ©N©r   r   ©r   ©ÚXDMÚlols   €€úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/polys/matrices/tests/test_xxm.pyú<lambda>z'test_XXM_constructors.<locals>.<lambda>c   ó   ø€ ¨¨¨C°½Ñ(<Ô(<€ ó    c                  ó(   •—  ‰ ‰dt           ¦  «        S ©Nr    r'   )r)   Úlol_bads   €€r+   r,   z'test_XXM_constructors.<locals>.<lambda>d   ó   ø€ ¨¨¨G°V½RÑ(@Ô(@€ r.   c                  ó(   •—  ‰ ‰dt           ¦  «        S r0   r'   ©r)   Údods   €€r+   r,   z'test_XXM_constructors.<locals>.<lambda>e   r-   r.   c                  ó(   •—  ‰ ‰dt           ¦  «        S r%   r'   r4   s   €€r+   r,   z'test_XXM_constructors.<locals>.<lambda>u   r-   r.   c                  ó(   •—  ‰ ‰dt           ¦  «        S r0   r'   r(   s   €€r+   r,   z'test_XXM_constructors.<locals>.<lambda>v   r-   r.   c                  ó(   •—  ‰ ‰dt           ¦  «        S r0   r'   )r)   Údod_bads   €€r+   r,   z'test_XXM_constructors.<locals>.<lambda>w   r2   r.   c                  ó0   •— t          ‰ dt          ¦  «        S r%   ©r   r   ©r*   s   €r+   r,   z'test_XXM_constructors.<locals>.<lambda>y   s   ø€ ¥L°°f½bÑ$AÔ$A€ r.   c                  ó0   •— t          ‰ dt          ¦  «        S r0   r;   )r1   s   €r+   r,   z'test_XXM_constructors.<locals>.<lambda>z   ó   ø€ ¥L°¸&Å"Ñ$EÔ$E€ r.   c                  ó0   •— t          ‰ dt          ¦  «        S r0   r;   )r9   s   €r+   r,   z'test_XXM_constructors.<locals>.<lambda>{   r>   r.   N)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)   r5   r9   r*   r1   s             @@@@@r+   Útest_XXM_constructorsrR   #   sp  øøøøø€ õ 
ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆð€Cõ �!‰uŒu�˜A™œÐÐÝ�!‰uŒu�˜A™œÐÐÝ�!‰uŒu�˜A™œÐÐðð €Cð €GØ€GØ�2ˆh€GØ€GØ€GØ€Gõ 
ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐð€Gõ �!‰uŒu�˜A™œÐÐÝ�!‰uŒu�˜A™œÐÐÝ�!‰uŒu�˜A™œ¥2 a¡5¤5Ð)Ð)ðð €Gõ �€IÝ�€Jå�wÒÐØ×Ò�ÑÔÐàð >ñ >ˆàˆC��V�RÑ Ô ˆØŒv˜Š{ˆ{ˆ{ˆ{ØŒv˜Š{ˆ{ˆ{ˆ{ØŒx�2Š~ˆ~ˆ~ˆ~ØŒw˜&Ò Ð Ð Ð Ø•cˆ>ˆ>Ý”:˜a œd 1œgÑ&Ô&¨$Ð.Ð.Ð.Ð.Ð.å”:˜aœe DœkÑ*Ô*¨dÐ2Ð2Ð2Ð2å˜3 ­Ñ+Ô+ˆØ•#ˆ:ˆ:Ø”7˜a’<�<�<�<Ø”7—>’>Ñ#Ô# qÒ(Ð(Ð(Ð(Ð(Ý˜WÒ$Ð$Ø”7—>’>Ñ#Ô# qÒ(Ð(Ð(Ð(Ø”7˜a’<�<�<�<�<à”7˜a’<�<�<�<Ø”7—>’>Ñ#Ô# qÒ(Ð(Ð(Ð(àˆs�7˜F¥BÑ'Ô'Ô-°Ò7Ð7Ð7Ð7Øˆs�7˜F¥BÑ'Ô'Ô-°Ò7Ð7Ð7Ð7Øˆs�7˜F¥BÑ'Ô'Ô-°Ò7Ð7Ð7Ð7Ý�Ð <Ð <Ð <Ð <Ð <Ñ=Ô=Ð=Ý�Ð @Ð @Ð @Ð @Ð @ÑAÔAÐAÝ�Ð <Ð <Ð <Ð <Ð <Ñ=Ô=Ð=Ñ=àð Bñ BˆàˆC��V�RÑ Ô ˆØŒv˜Š{ˆ{ˆ{ˆ{ØŒv˜Š{ˆ{ˆ{ˆ{ØŒx�2Š~ˆ~ˆ~ˆ~ØŒw˜&Ò Ð Ð Ð ÝŒz˜!˜Aœ$˜qœ'Ñ"Ô" dÐ*Ð*Ð*Ð*å˜C ­Ñ,Ô,Ô0°AÒ5Ð5Ð5Ð5àˆs�7˜F¥BÑ'Ô'Ô-°Ò7Ð7Ð7Ð7Øˆs�7˜F¥BÑ'Ô'Ô-°Ò7Ð7Ð7Ð7Øˆs�7˜F¥BÑ'Ô'Ô-°Ò7Ð7Ð7Ð7Ý�Ð <Ð <Ð <Ð <Ð <Ñ=Ô=Ð=Ý�Ð <Ð <Ð <Ð <Ð <Ñ=Ô=Ð=Ý�Ð @Ð @Ð @Ð @Ð @ÑAÔAÐAÑAå
�?ÐAÐAÐAÐAÑBÔBÐBÝ
�?ÐEÐEÐEÐEÑFÔFÐFÝ
�?ÐEÐEÐEÐEÑFÔFÐFÐFÐFr.   c                  ó$  — t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg} t          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœdœ}t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg}t          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœdœ}t          | dt           ¦  «        }t          |dt           ¦  «        }t          | dt           ¦  «        }t          |dt           ¦  «        }t          |dt           ¦  «        }t          |dt           ¦  «        }	t          |dt           ¦  «        }
t          |dt           ¦  «        }||||g}||	|
|g}t          dk    rbt          ddgddggdt           ¦  «        }t          ddgddggdt           ¦  «        }|                     |¦  «         |                     |¦  «         t          |¦  «        D ]I\  }}t          |¦  «        D ]4\  }}||k    r||k    d	u sJ ‚||k    d
u sJ ‚Œ ||k    d
u sJ ‚||k    d	u sJ ‚Œ5ŒJt          |¦  «        D ]I\  }}t          |¦  «        D ]4\  }}||k    r||k    d	u sJ ‚||k    d
u sJ ‚Œ ||k    d
u sJ ‚||k    d	u sJ ‚Œ5ŒJt          |¦  «        D ].\  }}t          |¦  «        D ]\  }}||k    d
u sJ ‚||k    d	u sJ ‚ŒŒ/dS )z1Test equality for DDM, SDM, DFM and DomainMatrix.r   r   r   r   r   r   ©r   r   r   TFN)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_eqrl   ~   sƒ  € õ �‰UŒU•B�q‘E”EˆN�R ™UœU¥B q¡E¤E˜NÐ+€DÝ�a‘5”5�R ™UœUÐ#Ð#­B¨q©E¬Eµb¸±e´eÐ(<Ð(<Ð=Ð=€Då�‰UŒU•B�q‘E”EˆN�R ™UœU¥B q¡E¤E˜NÐ+€DÝ�a‘5”5�R ™UœUÐ#Ð#­B¨q©E¬Eµb¸±e´eÐ(<Ð(<Ð=Ð=€Då��v�rÑ"Ô"€FÝ��v�rÑ"Ô"€FÝ˜4 ­Ñ,Ô,€GÝ˜4 ­Ñ,Ô,€Gå��v�rÑ"Ô"€FÝ��v�rÑ"Ô"€FÝ˜4 ­Ñ,Ô,€GÝ˜4 ­Ñ,Ô,€Gà�f˜g wÐ/€FØ�f˜g wÐ/€Få�wÒÐå�q˜!�f˜q !˜fÐ% v­rÑ2Ô2ˆÝ�q˜!�f˜q !˜fÐ% v­rÑ2Ô2ˆà�Š�fÑÔÐØ�Š�fÑÔÐå˜6Ñ"Ô"ð *ð *‰ˆˆ2Ý˜vÑ&Ô&ð 	*ð 	*‰EˆAˆrØ�AŠvˆvØ˜bš TÐ)Ð)Ð)Ð)Ø˜bš UÐ*Ð*Ð*Ð*Ð*à˜bš UÐ*Ð*Ð*Ð*Ø˜bš TÐ)Ð)Ð)Ð)Ð)ð	*õ ˜6Ñ"Ô"ð *ð *‰ˆˆ2Ý˜vÑ&Ô&ð 	*ð 	*‰EˆAˆrØ�AŠvˆvØ˜bš TÐ)Ð)Ð)Ð)Ø˜bš UÐ*Ð*Ð*Ð*Ð*à˜bš UÐ*Ð*Ð*Ð*Ø˜bš TÐ)Ð)Ð)Ð)Ð)ð	*õ ˜6Ñ"Ô"ð &ð &‰ˆˆ2Ý˜vÑ&Ô&ð 	&ð 	&‰EˆAˆrØ˜"’H Ð&Ð&Ð&Ð&Ø˜"’H Ð%Ð%Ð%Ð%Ð%ð	&ð&ð &r.   c                  ó´  ‡	‡
‡— t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg} t          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœdœ}t          | dt           ¦  «        }t          |dt           ¦  «        }t          | dt           ¦  «        }t          |dt           ¦  «        }||||g}t          dk    r+t          | dt           ¦  «        }|                     |¦  «         |D ]sŠ	‰	                     ¦   «         |k    sJ ‚‰	                     ¦   «         |k    sJ ‚t          dk    r2t          t          ˆ	fd„¦  «         ‰	                     ¦   «         |k    sJ ‚Œtt          dk    �rA|D �]?Š	‰	                     ¦   «         |k    sJ ‚t           t          t          d	¦  «        t          fD ]ýŠt!          ‰	t
          ¦  «        r.t          j        ‰¦  «        st          t          ˆ	ˆfd
„¦  «         ŒE‰	                     ‰¦  «        Š
t          j        ‰¦  «        rJ|                     ‰¦  «        }‰
                     ¦   «         |k    sJ ‚‰
                     ¦   «         |k    sJ ‚Œ¸t          t          ˆ
fd„¦  «         ‰
                     ¦   «         |                     ‰¦  «        k    sJ ‚Œþ�Œ?dS dS )z4Test to_ddm etc. for DDM, SDM, DFM and DomainMatrix.r   r   r   r   r   rT   r   c                  ó,   •— ‰                       ¦   «         S ©N©Úto_dfm©rP   s   €r+   r,   ztest_to_XXM.<locals>.<lambda>É   s   ø€ °·²±
´
€ r.   r   c                  ó.   •— ‰                       ‰¦  «        S ro   )Ú
convert_to)rP   ÚKs   €€r+   r,   ztest_to_XXM.<locals>.<lambda>Ô   s   ø€ ¸¿ºÀQ¹¼€ r.   c                  ó,   •— ‰                       ¦   «         S ro   rp   )ÚA_Ks   €r+   r,   ztest_to_XXM.<locals>.<lambda>Ü   s   ø€ ¸C¿JºJ¹L¼L€ r.   N)r   r   r   r   r   r   r@   rG   Úto_sdmr   ÚNotImplementedErrorÚto_dfm_or_ddmrq   r   r   r   Ú
isinstanceÚ_supports_domainrt   )r*   r5   ÚA_ddmÚA_sdmÚA_dm_dÚA_dm_sÚA_allÚA_dfmÚA_dfm_KrP   rw   ru   s            @@@r+   Útest_to_XXMr„   ´   sÙ  øøø€ õ ˆq‰EŒE•2�a‘5”5ˆ>�B˜q™EœE¥2 a¡5¤5˜>Ð
*€CÝ�Q‘%”%�B˜q™EœEÐ"Ð"­2¨a©5¬5µR¸±U´UÐ';Ð';Ð
<Ð
<€Cå��V�RÑ Ô €EÝ��V�RÑ Ô €EÝ˜#˜v¥rÑ*Ô*€FÝ˜#˜v¥rÑ*Ô*€Fà�E˜6 6Ð*€Eå�wÒÐÝ�C˜¥Ñ$Ô$ˆØ�Š�UÑÔÐàð .ð .ˆØ�xŠx‰zŒz˜UÒ"Ð"Ð"Ð"Ø�xŠx‰zŒz˜UÒ"Ð"Ð"Ð"Ý˜7Ò"Ð"ÝÕ&Ð(:Ð(:Ð(:Ð(:Ñ;Ô;Ð;Ø—?’?Ñ$Ô$¨Ò-Ð-Ð-Ð-øõ
 �wÒÑØð 	Jñ 	JˆAØ—8’8‘:”: Ò&Ð&Ð&Ð&Ý�"�b ™eœe¥TÐ*ð Jð J�Ý˜a¥Ñ%Ô%ð 
J­cÔ.BÀ1Ñ.EÔ.Eð 
JÝÕ.Ð0GÐ0GÐ0GÐ0GÐ0GÑHÔHÐHÐHàŸ,š, q™/œ/�CÝÔ+¨AÑ.Ô.ð JØ"'×"2Ò"2°1Ñ"5Ô"5˜Ø"Ÿzšz™|œ|¨wÒ6Ð6Ð6Ð6Ø"×0Ò0Ñ2Ô2°gÒ=Ð=Ð=Ð=Ð=åÕ2Ð4HÐ4HÐ4HÐ4HÑIÔIÐIØ"×0Ò0Ñ2Ô2°e×6FÒ6FÀqÑ6IÔ6IÒIÐIÐIÐIÐIñJð Ðð	Jð 	Jr.   c                  óÆ  ‡— t          d¦  «        \  } }t          dv r;g }i }t          t          t	          d¦  «        t          |          t          | |f         g}n�t          dk    rrddl}t          t          g}t          |j        t          |j        t	          d¦  «        di}t          |          t          | |f         t          j        | |¦  «        t          g}nJ dt          z  ¦   «         ‚|D ]BŠt          j        ‰¦  «        d	u sJ ‚|‰         � t          j        ‰¦  «        |‰         k    sJ ‚ŒC|D ]2Št          j        ‰¦  «        du sJ ‚t          t          ˆfd
„¦  «         Œ3dS )z(Test which domains are supported by DFM.zx, y)ÚpythonÚgmpyr   r   r   NFzUnknown GROUND_TYPES: %sTc                  ó,   •— t          j        ‰ ¦  «        S ro   )r   Ú_get_flint_func)rC   s   €r+   r,   z"test_DFM_domains.<locals>.<lambda>  s   ø€ ­CÔ,?ÀÑ,GÔ,G€ r.   )r   r   r   r   r   r   Úfmpz_matÚfmpq_matÚ
frac_fieldr   r   r|   r‰   r   ry   )ÚxÚyÚ	supportedÚflint_funcsÚnot_supportedr   rC   s         @r+   Útest_DFM_domainsr’   à   s�  ø€ õ �6‰?Œ?�D€A€qåÐ)Ð)Ð)àˆ	ØˆÝ�R¥ A¡¤­¨1¬­r°!°A°#¬wÐ7ˆˆå	˜Ò	 Ð	 àˆˆˆÝ��Hˆ	å�”Ý�”Ýˆq‰EŒE�4ð
ˆõ ˆqŒEÝˆq�ˆsŒGÝŒM˜!˜AÑÔåð
ˆˆð 	@Ð0µ<Ñ?Ñ?Ô?ˆuàð Fð FˆÝÔ# FÑ+Ô+¨tÐ3Ð3Ð3Ð3Ø�vÔÐ*ÝÔ& vÑ.Ô.°+¸fÔ2EÒEÐEÐEÐEøØð Ið IˆÝÔ# FÑ+Ô+¨uÐ4Ð4Ð4Ð4ÝÕ"Ð$GÐ$GÐ$GÐ$GÑHÔHÐHÐHðIð Ir.   c                 ó  — t          | |¦  «        }|dk    r|                     ¦   «         S |dk    r|                     ¦   «         S |dk    r.t          dk    rt	          d¦  «         |                     ¦   «         S J d|z  ¦   «         ‚)z&Make a DM of type typ over K from lol.r   r   r   r   z%DFM not supported in this ground typeFzUnknown type %s)r   rG   rx   r   r   rq   )r*   Útypru   rP   s       r+   Ú_DMr•   
  s�   € å
ˆ3�‰
Œ
€Aà
ˆe‚|€|Ø�xŠx‰zŒzÐØ	�ŠˆØ�xŠx‰zŒzÐØ	�ŠˆÝ˜7Ò"Ð"ÝÐ8Ñ9Ô9Ð9Ø�xŠx‰zŒzÐà-Ð'¨#Ñ-Ñ-Ô-ˆur.   c                 ó.   — t          | |t          ¦  «        S )z'Make a DM of type typ over ZZ from lol.)r•   r   ©r*   r”   s     r+   Ú_DMZr˜     ó   € åˆs�C�ÑÔÐr.   c                 ó.   — t          | |t          ¦  «        S )z'Make a DM of type typ over QQ from lol.)r•   r   r—   s     r+   Ú_DMQr›     r™   r.   c                 ó$   — t          | d|¦  «        S )zMake a DDM over K from lol.r   ©r•   ©r*   ru   s     r+   ÚDM_ddmrŸ   $  ó   € åˆs�E˜1ÑÔÐr.   c                 ó$   — t          | d|¦  «        S )zMake a SDM over K from lol.r   r�   rž   s     r+   ÚDM_sdmr¢   )  r    r.   c                 ó$   — t          | d|¦  «        S )zMake a DFM over K from lol.r   r�   rž   s     r+   ÚDM_dfmr¤   .  r    r.   c                 ó"   — t          | d¦  «        S ©zMake a DDM from lol.r   ©r˜   r<   s    r+   ÚDMZ_ddmr¨   3  ó   € å��UÑÔÐr.   c                 ó"   — t          | d¦  «        S ©zMake a SDM from lol.r   r§   r<   s    r+   ÚDMZ_sdmr¬   8  r©   r.   c                 ó"   — t          | d¦  «        S ©zMake a DFM from lol.r   r§   r<   s    r+   ÚDMZ_dfmr¯   =  r©   r.   c                 ó"   — t          | d¦  «        S r¦   ©r›   r<   s    r+   ÚDMQ_ddmr²   B  r©   r.   c                 ó"   — t          | d¦  «        S r«   r±   r<   s    r+   ÚDMQ_sdmr´   G  r©   r.   c                 ó"   — t          | d¦  «        S r®   r±   r<   s    r+   ÚDMQ_dfmr¶   L  r©   r.   r   c                 óB  ‡‡‡— ddgddgg} | |¦  «        Š‰j         \  }}g d¢}|D ]wŠ|D ]rŠd‰cxk    r|k     rIn nFd‰cxk    r|k     r9n n6‰                     ‰‰¦  «        t          |‰         ‰         ¦  «        k    sJ ‚ŒXt          t          ˆˆˆfd„¦  «         ŒsŒxdS )zTest getitem for DDM, etc.r   r   r   )éýÿÿÿéþÿÿÿéÿÿÿÿr   r   r   r¹   c                  ó0   •— ‰                       ‰‰¦  «        S ro   )Úgetitem)rP   ÚiÚjs   €€€r+   r,   z"test_XDM_getitem.<locals>.<lambda>e  s   ø€ ¨1¯9ª9°Q¸©?¬?€ r.   N)rD   r¼   r   r   Ú
IndexError)r   r*   rh   rf   ÚindicesrP   r½   r¾   s        @@@r+   Útest_XDM_getitemrÁ   V  së   øøø€ ð ˆqˆ6�A�q�6Ð
€CØ
ˆˆ3‰Œ€AØŒ7�D€A€qà#Ð#Ð#€Gàð <ð <ˆØð 	<ð 	<ˆAØ�Qˆ{ˆ{Š{ˆ{˜Š{ˆ{ˆ{ˆ{ˆ{˜r Q˜{˜{š{˜{¨š{˜{˜{˜{˜{Ø—y’y  A‘”­"¨S°¬V°A¬Y©-¬-Ò7Ð7Ð7Ð7Ð7å•zÐ#:Ð#:Ð#:Ð#:Ð#:Ð#:Ñ;Ô;Ð;Ð;ð		<ð<ð <r.   c                 ó6	  ‡—  | g d¢g d¢g¦  «        Š‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d¢g¦  «        k    sJ ‚‰                      dd	t          d
¦  «        ¦  «         ‰ | g d¢g d¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d¢g¦  «        k    sJ ‚t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         ‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d¢g¦  «        k    sJ ‚t          t          ˆfd„¦  «         t          t          ˆfd „¦  «         ‰                      dd	t          d¦  «        ¦  «         ‰ | g d¢g d!¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d"¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d¢g d#¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d$¢g d#¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d%¢g d#¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d%¢g d#¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d#¢g d#¢g¦  «        k    sJ ‚‰                      ddt          d¦  «        ¦  «         ‰ | g d&¢g d#¢g¦  «        k    sJ ‚d'S )(zTest setitem for DDM, etc.r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   é   )r   r   rÃ   rº   é	   )r   r   rÄ   r¹   é
   )r   rÅ   rÄ   r¸   é   )rÆ   rÅ   rÄ   c                  óL   •— ‰                       ddt          d¦  «        ¦  «        S )Nr   r   é   ©Úsetitemr   rr   s   €r+   r,   z"test_XDM_setitem.<locals>.<lambda>€  ó   ø€ ˜qŸyšy¨¨A­r°"©v¬vÑ6Ô6€ r.   c                  óL   •— ‰                       ddt          d¦  «        ¦  «        S )Nr   éüÿÿÿé   rÉ   rr   s   €r+   r,   z"test_XDM_setitem.<locals>.<lambda>�  s   ø€ ˜qŸyšy¨¨Bµ°2±´Ñ7Ô7€ r.   é   )rÏ   r   r   é   )rÏ   rÐ   r   é   )rÏ   rÑ   r   é   )rÆ   rÒ   rÄ   c                  óL   •— ‰                       ddt          d¦  «        ¦  «        S )Nr   r   é   rÉ   rr   s   €r+   r,   z"test_XDM_setitem.<locals>.<lambda>�  rË   r.   c                  óL   •— ‰                       ddt          d¦  «        ¦  «        S )Nr¸   r   é   rÉ   rr   s   €r+   r,   z"test_XDM_setitem.<locals>.<lambda>�  s   ø€ ˜qŸyšy¨¨Qµ°2±´Ñ7Ô7€ r.   )rÏ   rÑ   r   )rÏ   r   r   ©r   r   r   )r   rÒ   rÄ   )r   rÒ   r   ©r   r   r   N)rÊ   r   r   r¿   ©r   rP   s    @r+   Útest_XDM_setitemrÚ   h  sW  ø€ ð 	ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€Aà‡I‚Iˆa�•B�q‘E”EÑÔÐØ���I�I�I˜y˜y˜yÐ)Ñ*Ô*Ò*Ð*Ð*Ð*à‡I‚Iˆa�•B�q‘E”EÑÔÐØ���I�I�I˜y˜y˜yÐ)Ñ*Ô*Ò*Ð*Ð*Ð*à‡I‚Iˆa�•B�q‘E”EÑÔÐØ���I�I�I˜y˜y˜yÐ)Ñ*Ô*Ò*Ð*Ð*Ð*à‡I‚Iˆa�•R˜‘U”UÑÔÐØ���I�I�I˜y˜y˜yÐ)Ñ*Ô*Ò*Ð*Ð*Ð*à‡I‚Iˆa�•R˜‘V”VÑÔÐØ���J�J�J 	 	 	Ð*Ñ+Ô+Ò+Ð+Ð+Ð+à‡I‚Iˆa�•R˜‘V”VÑÔÐØ���K�K�K   Ð+Ñ,Ô,Ò,Ð,Ð,Ð,å
�:Ð6Ð6Ð6Ð6Ñ7Ô7Ð7Ý
�:Ð7Ð7Ð7Ð7Ñ8Ô8Ð8à‡I‚Iˆa�•B�r‘F”FÑÔÐØ���K�K�K   Ð,Ñ-Ô-Ò-Ð-Ð-Ð-à‡I‚Iˆa�•B�r‘F”FÑÔÐØ���K�K�K   Ð-Ñ.Ô.Ò.Ð.Ð.Ð.à‡I‚Iˆb�!•R˜‘V”VÑÔÐØ���K�K�K   Ð-Ñ.Ô.Ò.Ð.Ð.Ð.à‡I‚Iˆb�!•R˜‘V”VÑÔÐØ���K�K�K   Ð-Ñ.Ô.Ò.Ð.Ð.Ð.å
�:Ð6Ð6Ð6Ð6Ñ7Ô7Ð7Ý
�:Ð7Ð7Ð7Ð7Ñ8Ô8Ð8à‡I‚Iˆa�•B�q‘E”EÑÔÐØ���K�K�K   Ð-Ñ.Ô.Ò.Ð.Ð.Ð.à‡I‚Iˆa�•R˜‘U”UÑÔÐØ���K�K�K   Ð,Ñ-Ô-Ò-Ð-Ð-Ð-à‡I‚Iˆa�•R˜‘U”UÑÔÐØ���K�K�K   Ð+Ñ,Ô,Ò,Ð,Ð,Ð,à‡I‚Iˆa�•B�q‘E”EÑÔÐØ���J�J�J 	 	 	Ð*Ñ+Ô+Ò+Ð+Ð+Ð+à‡I‚Iˆa�•R˜‘U”UÑÔÐØ���J�J�J 	 	 	Ð*Ñ+Ô+Ò+Ð+Ð+Ð+à‡I‚Iˆa�•B�q‘E”EÑÔÐØ���J�J�J 	 	 	Ð*Ñ+Ô+Ò+Ð+Ð+Ð+à‡I‚Iˆa�•R˜‘U”UÑÔÐØ���I�I�I˜y˜y˜yÐ)Ñ*Ô*Ò*Ð*Ð*Ð*à‡I‚Iˆa�•R˜‘U”UÑÔÐØ���I�I�I˜y˜y˜yÐ)Ñ*Ô*Ò*Ð*Ð*Ð*Ð*Ð*r.   c                   ó   — e Zd Zd„ ZdS )Ú_Slicedc                 ó   — |S ro   © )ÚselfÚitems     r+   Ú__getitem__z_Sliced.__getitem__¬  s   € Øˆr.   N)Ú__name__Ú
__module__Ú__qualname__rá   rÞ   r.   r+   rÜ   rÜ   «  s#   € € € € € ðð ð ð ð r.   rÜ   c                 ó  —  | g d¢g d¢g d¢g¦  «        } |j         t          d d …d d …f         Ž |k    sJ ‚ |j         t          dd …d d …f         Ž  | g d¢g d¢g¦  «        k    sJ ‚ |j         t          dd …dd …f         Ž  | ddgddgg¦  «        k    sJ ‚ |j         t          dd …d d	…f         Ž  | d
dgddgg¦  «        k    sJ ‚ |j         t          dd …d d	d…f         Ž  | d
gdgg¦  «        k    sJ ‚ |j         t          d d …d d d…f         Ž  | ddgd
dgddgg¦  «        k    sJ ‚ |j         t          d d d…d d …f         Ž  | g d¢g d¢g¦  «        k    sJ ‚ |j         t          d d d…d d d…f         Ž  | ddgddgg¦  «        k    sJ ‚ |j         t          d d d…d d d…f         Ž  | ddgddgg¦  «        k    sJ ‚ |j         t          d d d…d d d…f         Ž  | ddgddgg¦  «        k    sJ ‚ |j         t          d d d…d d d…f         Ž  | ddgddgg¦  «        k    sJ ‚ |j         t          d d …d d d	…f         Ž  | g d¢g d¢g d¢g¦  «        k    sJ ‚ |j         t          d d d	…d d …f         Ž  | g d¢g d¢g d¢g¦  «        k    sJ ‚d S )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   )Úextract_sliceÚ_slicerÙ   s     r+   Útest_XXM_extract_slicerë   ³  s‰  € à
ˆˆIˆIˆI�y�y�y ) ) )Ð,Ñ-Ô-€AØˆ1Œ?�F 1 1 1 Q Q Q 3œKÐ(¨AÒ-Ð-Ð-Ð-Øˆ1Œ?�F 1 2 2 a a a 4œLÐ)¨R¨R°°°¸I¸I¸IÐ0FÑ-GÔ-GÒGÐGÐGÐGØˆ1Œ?�F 1 2 2 a b b 5œMÐ*¨b¨b°1°a°&¸1¸a¸&Ð1AÑ.BÔ.BÒBÐBÐBÐBØˆ1Œ?�F 1 2 2 c r c 6œNÐ+¨r¨r°A°q°6¸A¸q¸6Ð2BÑ/CÔ/CÒCÐCÐCÐCØˆ1Œ?�F 1 2 2 e r¨! e 8Ô,Ð-°°°a°S¸1¸#°J±´Ò?Ð?Ð?Ð?Øˆ1Œ?�F 1 1 1 S S q S 5œMÐ*¨b¨b°1°a°&¸1¸a¸&À1ÀaÀ&Ð1IÑ.JÔ.JÒJÐJÐJÐJØˆ1Œ?�F 3 3 Q 3 q q q 5œMÐ*¨b¨b°)°)°)¸Y¸Y¸YÐ1GÑ.HÔ.HÒHÐHÐHÐHØˆ1Œ?�F 3 3 Q 3 s s¨ s 7œOÐ,°°°Q¸°F¸QÀ¸FÐ3CÑ0DÔ0DÒDÐDÐDÐDØˆ1Œ?�F 3 3 Q 3 t t¨ t 8Ô,Ð-°°°a¸°V¸aÀ¸VÐ4DÑ1EÔ1EÒEÐEÐEÐEØˆ1Œ?�F 4 4 R 4¨¨¨!¨ 8Ô,Ð-°°°a¸°V¸aÀ¸VÐ4DÑ1EÔ1EÒEÐEÐEÐEØˆ1Œ?�F 4 4 R 4¨¨¨"¨ 9Ô-Ð.°"°"°q¸!°f¸qÀ!¸fÐ5EÑ2FÔ2FÒFÐFÐFÐFØˆ1Œ?�F 1 1 1 T T r T 6œNÐ+¨r¨r°9°9°9¸i¸i¸iÈÈÈÐ2SÑ/TÔ/TÒTÐTÐTÐTØˆ1Œ?�F 4 4 R 4¨¨¨ 6œNÐ+¨r¨r°9°9°9¸i¸i¸iÈÈÈÐ2SÑ/TÔ/TÒTÐTÐTÐTÐTÐTr.   c                 ó0  ‡—  | g d¢g d¢g d¢g¦  «        Š‰                      g d¢g d¢¦  «        ‰k    sJ ‚‰                      ddgddg¦  «         | ddgd	d
gg¦  «        k    sJ ‚‰                      ddgddg¦  «         | ddgdd	gg¦  «        k    sJ ‚‰                      ddgddg¦  «         | ddgdd
gg¦  «        k    sJ ‚‰                      ddgdg¦  «         | dgdgg¦  «        k    sJ ‚‰                      ddgg ¦  «         | dgg¦  «                             dt          ¦  «        k    sJ ‚‰                      g g d¢¦  «         | dgg¦  «                             dt          ¦  «        k    sJ ‚t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          ˆfd„¦  «          | g d¢g d¢g d¢g¦  «        }|                      ddgddg¦  «         | ddgddgg¦  «        k    sJ ‚d S )Nræ   rç   rè   r   r   r   r   r   rÃ   rÄ   r   r   r   r#   )r   r   c                  ó8   •— ‰                       ddgddg¦  «        S )Nr   r   r   r   ©Úextractrr   s   €r+   r,   z"test_XXM_extract.<locals>.<lambda>Ò  ó   ø€ ˜qŸyšy¨!¨Q¨°!°Q°Ñ8Ô8€ r.   c                  ó8   •— ‰                       ddgddg¦  «        S )Nr   r   r   rÍ   rî   rr   s   €r+   r,   z"test_XXM_extract.<locals>.<lambda>Ó  s   ø€ ˜qŸyšy¨!¨Q¨°!°R°Ñ9Ô9€ r.   c                  ó8   •— ‰                       ddgddg¦  «        S )Nr   r   r   rî   rr   s   €r+   r,   z"test_XXM_extract.<locals>.<lambda>Ô  rð   r.   c                  ó8   •— ‰                       ddgddg¦  «        S )NrÍ   r   r   r   rî   rr   s   €r+   r,   z"test_XXM_extract.<locals>.<lambda>Õ  s   ø€ ˜qŸyšy¨"¨a¨°1°a°&Ñ9Ô9€ r.   r×   )rï   Úzerosr   r   r¿   )r   ÚBrP   s     @r+   Útest_XXM_extractrö   Å  s…  ø€ ð 	ˆˆIˆIˆI�y�y�y ) ) )Ð,Ñ-Ô-€Aà�9Š9�Y�Y�Y 	 	 	Ñ*Ô*¨aÒ/Ð/Ð/Ð/Ø�9Š9�a˜�V˜a ˜VÑ$Ô$¨¨¨Q°¨F°Q¸°FÐ+;Ñ(<Ô(<Ò<Ð<Ð<Ð<Ø�9Š9�a˜�V˜a ˜VÑ$Ô$¨¨¨Q°¨F°Q¸°FÐ+;Ñ(<Ô(<Ò<Ð<Ð<Ð<Ø�9Š9�a˜�V˜a ˜VÑ$Ô$¨¨¨Q°¨F°Q¸°FÐ+;Ñ(<Ô(<Ò<Ð<Ð<Ð<Ø�9Š9�a˜�V˜a˜SÑ!Ô! R R¨!¨¨q¨c¨
¡^¤^Ò3Ð3Ð3Ð3Ø�9Š9�a˜�V˜RÑ Ô  B B¨¨ u¡I¤I§O¢O°F½BÑ$?Ô$?Ò?Ð?Ð?Ð?Ø�9Š9�R˜˜˜Ñ#Ô# r r¨A¨3¨%¡y¤y§¢°v½rÑ'BÔ'BÒBÐBÐBÐBå
�:Ð8Ð8Ð8Ð8Ñ9Ô9Ð9Ý
�:Ð9Ð9Ð9Ð9Ñ:Ô:Ð:Ý
�:Ð8Ð8Ð8Ð8Ñ9Ô9Ð9Ý
�:Ð9Ð9Ð9Ð9Ñ:Ô:Ð:à
ˆˆIˆIˆI�y�y�y ) ) )Ð,Ñ-Ô-€AØ�9Š9�a˜�V˜a ˜VÑ$Ô$¨¨¨Q°¨F°Q¸°FÐ+;Ñ(<Ô(<Ò<Ð<Ð<Ð<Ð<Ð<r.   c                  óì  — t          g d¢g d¢g d¢gdt          ¦  «        } t          | ¦  «        dk    sJ ‚t          |                      ¦   «         ¦  «        dk    sJ ‚t          |                      ¦   «         ¦  «        dk    sJ ‚t          | ¦  «        dk    sJ ‚t          |                      ¦   «         ¦  «        dk    sJ ‚t          |                      ¦   «         ¦  «        d	k    sJ ‚t          t          d
¦  «        t          d¦  «        dœdt          d¦  «        idœdt          ¦  «        }t          |¦  «        dk    sJ ‚t          |                     ¦   «         ¦  «        dk    sJ ‚t          |                     ¦   «         ¦  «        dk    sJ ‚t          |¦  «        dk    sJ ‚t          dk    rOt          |                     ¦   «         ¦  «        dk    sJ ‚t          |                     ¦   «         ¦  «        dk    sJ ‚nNt          |                     ¦   «         ¦  «        dk    sJ ‚t          |                     ¦   «         ¦  «        dk    sJ ‚t          dk    rœt          |                      ¦   «         ¦  «        dk    sJ ‚t          |                     ¦   «         ¦  «        dk    sJ ‚t          |                      ¦   «         ¦  «        dk    sJ ‚t          |                     ¦   «         ¦  «        dk    sJ ‚d S d S )Nræ   rç   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)r   r   r   r   r   rT   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))r   r   ÚstrrG   rx   Úreprr   rq   )rP   rõ   s     r+   Útest_XXM_strrû   Û  s|  € å�i�i�i   ¨I¨I¨IÐ6¸ÅÑCÔC€Aåˆq‰6Œ6ØEòFð Fð Fð Fåˆq�xŠx‰zŒz‰?Œ?Ø+ò,ð ,ð ,ð ,åˆq�xŠx‰zŒz‰?Œ?ØOòPð Pð Pð Põ �‰7Œ7ØEòFð Fð Fð Få�—’‘
”
ÑÔØ<ò=ð =ð =ð =å�—’‘
”
ÑÔØ`òað að að aõ 	�R ™UœU¥r¨!¡u¤uÐ-Ð-°1µb¸±e´e°*Ð=Ð=¸vÅrÑJÔJ€Aåˆq‰6Œ6Ø@òAð Að Að Aåˆq�xŠx‰zŒz‰?Œ?Øòð ð ð åˆq�xŠx‰zŒz‰?Œ?Ø&ò'ð 'ð 'ð 'õ �‰7Œ7Ø@òAð Að Að Aõ �vÒÐÝ�A—H’H‘J”JÑÔØ/ò0ð 0ð 0ð 0å�A—H’H‘J”JÑÔØ;ò<ð <ð <ð <ð <õ �A—H’H‘J”JÑÔØCòDð Dð Dð Då�A—H’H‘J”JÑÔØJòKð Kð Kð Kõ �wÒÐå�1—8’8‘:”:‰ŒØ/ò0ð 0ð 0ð 0å�1—8’8‘:”:‰ŒØòð ð ð õ �A—H’H‘J”JÑÔØ@òAð Að Að Aå�A—H’H‘J”JÑÔØ/ò0ð 0ð 0ð 0ð Ðð0ð 0r.   c                 óR  ‡‡— t           | dgg¦  «        ¦  «        Šg d¢g d¢g}t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gg}t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        t          d	¦  «        ggŠ‰                     |d
t          ¦  «         | |¦  «        k    sJ ‚t          t          ˆˆfd„¦  «         d S )Nr   ©r   r   r   rç   r   r   r   r   r   r   r&   c                  ó<   •— ‰                       ‰dt          ¦  «        S r0   )Ú	from_listr   )ÚTÚ
lol_ZZ_bads   €€r+   r,   z$test_XXM_from_list.<locals>.<lambda>  s   ø€  A§K¢K°
¸FÅBÑ$GÔ$G€ r.   )Útyper   rÿ   r   r	   )r   r*   Úlol_ZZr   r  s      @@r+   Útest_XXM_from_listr    sù   øø€ åˆRˆR�!��‰YŒY‰Œ€Aàˆ9ˆ9�i�i�iÐ
 €CÝ�!‰uŒu•b˜‘e”e�R ™UœUÐ#¥b¨¡e¤e­R°©U¬UµB°q±E´EÐ%:Ð;€FÝ�a‘5”5�"˜Q™%œ%¥ A¡¤Ð'­"¨Q©%¬%µ°A±´½¸1¹¼½rÀ!¹u¼uÐ)EÐF€Jà�;Š;�v˜v¥rÑ*Ô*¨b¨b°©g¬gÒ5Ð5Ð5Ð5Ý
�?ÐGÐGÐGÐGÐGÑHÔHÐHÐHÐHr.   c                 ó  — g d¢g d¢g} | |¦  «                              ¦   «         t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggk    sJ ‚d S ©Nrý   rç   r   r   r   r   r   )Úto_listr   ©r   r*   s     r+   Útest_XXM_to_listr	    st   € àˆ9ˆ9�i�i�iÐ
 €CØˆ2ˆc‰7Œ7�?Š?ÑÔ¥" Q¡%¤%­¨A©¬µ°1±´Ð!6½¸A¹¼ÅÀ1ÁÄÅrÈ!ÁuÄuÐ8MÐ NÒNÐNÐNÐNÐNÐNr.   c           	      ó  — g d¢g d¢g} | |¦  «                              ¦   «         t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gk    sJ ‚d S r  )Úto_list_flatr   r  s     r+   Útest_XXM_to_list_flatr  #  sp   € àˆ9ˆ9�i�i�iÐ
 €CØˆ2ˆc‰7Œ7×ÒÑ!Ô!¥b¨¡e¤e­R°©U¬UµB°q±E´E½2¸a¹5¼5Å"ÀQÁ%Ä%ÍÈAÉÌÐ%OÒOÐOÐOÐOÐOÐOr.   c                 ó~  ‡‡— t           | dgg¦  «        ¦  «        Št          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gŠ‰                     ‰dt          ¦  «         | g d¢g d	¢g¦  «        k    sJ ‚t          t          ˆˆfd
„¦  «         d S )Nr   r   r   r   r   r   r&   rý   rç   c                  ó<   •— ‰                       ‰dt          ¦  «        S )Nrø   )Úfrom_list_flatr   )r   Úflats   €€r+   r,   z)test_XXM_from_list_flat.<locals>.<lambda>.  s   ø€  A×$4Ò$4°T¸6Å2Ñ$FÔ$F€ r.   )r  r   r  r   r	   )r   r   r  s    @@r+   Útest_XXM_from_list_flatr  )  s®   øø€ åˆRˆR�!��‰YŒY‰Œ€AÝˆq‰EŒE•2�a‘5”5�"˜Q™%œ%¥ A¡¤­¨1©¬­r°!©u¬uÐ5€DØ×Ò˜D &­"Ñ-Ô-°°°Y°Y°YÀ	À	À	Ð4JÑ1KÔ1KÒKÐKÐKÐKÝ
�?ÐFÐFÐFÐFÐFÑGÔGÐGÐGÐGr.   c                 óÐ   —  | g d¢g d¢g d¢g¦  «        }t          d¦  «        t          d¦  «        t          d¦  «        g}d}|                     ¦   «         |||j        ffk    sJ ‚d S )N©r   r   r   r×   ©r   r   r   r   r   r   ©r!   r   rT   )r   Ú
to_flat_nzrD   )r   ÚMÚelementsrÀ   s       r+   Útest_XXM_to_flat_nzr  1  sr   € à
ˆˆIˆIˆI�y�y�y ) ) )Ð,Ñ-Ô-€AÝ�1‘”•r˜!‘u”u�b ™eœeÐ$€HØ&€GØ�<Š<‰>Œ>˜h¨°!´'Ð(:Ð;Ò;Ð;Ð;Ð;Ð;Ð;r.   c                 óD  ‡‡‡— t           | dgg¦  «        ¦  «        Št          d¦  «        t          d¦  «        t          d¦  «        gŠdŠ‰df} | g d¢g d¢g d	¢g¦  «        }‰                     ‰|t          ¦  «        |k    sJ ‚t          t          ˆˆˆfd
„¦  «         d S )Nr   r   r   r   r  rø   r  r×   r  c                  ó@   •— ‰                       ‰‰dft          ¦  «        S r%   )Úfrom_flat_nzr   )r   r  rÀ   s   €€€r+   r,   z'test_XXM_from_flat_nz.<locals>.<lambda>A  s   ø€  A§N¢N°8¸gÀvÐ=NÕPRÑ$SÔ$S€ r.   )r  r   r  r   r	   )r   ÚdataÚresultr   r  rÀ   s      @@@r+   Útest_XXM_from_flat_nzr  9  s²   øøø€ åˆRˆR�!��‰YŒY‰Œ€AÝ�1‘”•r˜!‘u”u�b ™eœeÐ$€HØ&€GØ�VÐ€DØˆR���˜I˜I˜I y y yÐ1Ñ2Ô2€FØ�>Š>˜( D­"Ñ-Ô-°Ò7Ð7Ð7Ð7Ý
�?ÐSÐSÐSÐSÐSÐSÑTÔTÐTÐTÐTr.   c                 óò   — t          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        t          d¦  «        dœdœ} | g d¢g d	¢g¦  «                             ¦   «         |k    sJ ‚d S )
Nr   r   r"   r   r   r   r   ©r   r   r   rç   )r   Úto_dod©r   r5   s     r+   Útest_XXM_to_dodr$  D  sy   € å�Q‘%”%�B˜q™EœEÐ"Ð"­2¨a©5¬5µR¸±U´U½rÀ!¹u¼uÐ'EÐ'EÐ
FÐ
F€CØˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×,Ò,Ñ.Ô.°#Ò5Ð5Ð5Ð5Ð5Ð5r.   c                 ó6  — t           | dgg¦  «        ¦  «        }t          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        t          d¦  «        dœdœ}|                     |d	t          ¦  «         | g d
¢g d¢g¦  «        k    sJ ‚d S )Nr   r   r   r"   r   r   r   r   r&   r!  rç   )r  r   Úfrom_dod©r   r   r5   s      r+   Útest_XXM_from_dodr(  J  s”   € åˆRˆR�!��‰YŒY‰Œ€AÝ�Q‘%”%�B˜q™EœEÐ"Ð"­2¨a©5¬5µR¸±U´U½rÀ!¹u¼uÐ'EÐ'EÐ
FÐ
F€CØ�:Š:�c˜6¥2Ñ&Ô&¨"¨"¨i¨i¨i¸¸¸Ð-CÑ*DÔ*DÒDÐDÐDÐDÐDÐDr.   c                 óê   — t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        dœ} | g d¢g d¢g¦  «                             ¦   «         |k    sJ ‚d S )Nr   r   r   r   ©r!   r"   ©r   r   ©r   r   ©r   r   r!  rç   )r   Úto_dokr#  s     r+   Útest_XXM_to_dokr/  Q  sr   € å�a‘5”5¥" Q¡%¤%Ý�a‘5”5¥" Q¡%¤%µ°A±´ð8ð 8€Càˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×,Ò,Ñ.Ô.°#Ò5Ð5Ð5Ð5Ð5Ð5r.   c                 ó.  — t           | dgg¦  «        ¦  «        }t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        dœ}|                     |dt          ¦  «         | g d¢g d	¢g¦  «        k    sJ ‚d S )
Nr   r   r   r   r   r*  r&   r!  rç   )r  r   Úfrom_dokr'  s      r+   Útest_XXM_from_dokr2  X  s�   € åˆRˆR�!��‰YŒY‰Œ€AÝ�a‘5”5¥" Q¡%¤%Ý�a‘5”5¥" Q¡%¤%µ°A±´ð8ð 8€Cà�:Š:�c˜6¥2Ñ&Ô&¨"¨"¨i¨i¨i¸¸¸Ð-CÑ*DÔ*DÒDÐDÐDÐDÐDÐDr.   c                 ó  — t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        g}t           | g d¢g d¢g¦  «                             ¦   «         ¦  «        |k    sJ ‚d S )Nr   r   r   r   r!  rç   )r   ÚsortedÚiter_values)r   Úvaluess     r+   Útest_XXM_iter_valuesr7  `  sr   € å�‰eŒe•R˜‘U”U�B˜q™EœE¥2 a¡5¤5­"¨Q©%¬%Ð0€FÝ�"�"�i�i�i   Ð+Ñ,Ô,×8Ò8Ñ:Ô:Ñ;Ô;¸vÒEÐEÐEÐEÐEÐEr.   c                 ó  — dt          d¦  «        fdt          d¦  «        fdt          d¦  «        fdt          d¦  «        fdt          d	¦  «        fg}t           | g d
¢g d¢g¦  «                             ¦   «         ¦  «        |k    sJ ‚d S )Nr!   r   r"   r   r+  r,  r   r-  r   r!  rç   )r   r4  Ú
iter_items)r   Úitemss     r+   Útest_XXM_iter_itemsr;  f  sŠ   € à•b˜‘e”eˆ_˜v¥r¨!¡u¤u˜oØ•b˜‘e”eˆ_˜v¥r¨!¡u¤u˜o°½¸1¹¼¨ð@€Eå�"�"�i�i�i   Ð+Ñ,Ô,×7Ò7Ñ9Ô9Ñ:Ô:¸eÒCÐCÐCÐCÐCÐCr.   c                 óÆ   — t           | dgg¦  «        ¦  «        }t          g d¢g d¢gdt          ¦  «        }|                     |¦  «         | g d¢g d¢g¦  «        k    sJ ‚d S )Nr   rý   rç   r&   )r  r   r   Úfrom_ddm)r   r   Úddms      r+   Útest_XXM_from_ddmr?  m  so   € åˆRˆR�!��‰YŒY‰Œ€AÝ
ˆyˆyˆy˜)˜)˜)Ð$ f­bÑ
1Ô
1€CØ�:Š:�c‰?Œ?˜b˜b ) ) )¨Y¨Y¨YÐ!7Ñ8Ô8Ò8Ð8Ð8Ð8Ð8Ð8r.   c                 óš   — t           | dgg¦  «        ¦  «        }|                     dt          ¦  «         | g d¢g d¢g¦  «        k    sJ ‚d S )Nr   r&   r×   )r  rô   r   ©r   r   s     r+   Útest_XXM_zerosrB  t  sU   € åˆRˆR�!��‰YŒY‰Œ€AØ�7Š7�6�2ÑÔ " " i i i°°°Ð%;Ñ"<Ô"<Ò<Ð<Ð<Ð<Ð<Ð<r.   c                 óš   — t           | dgg¦  «        ¦  «        }|                     dt          ¦  «         | g d¢g d¢g¦  «        k    sJ ‚d S )Nr   r&   )r   r   r   )r  Úonesr   rA  s     r+   Útest_XXM_onesrE  z  sU   € åˆRˆR�!��‰YŒY‰Œ€AØ�6Š6�&�"ÑÔ   Y Y Y°	°	°	Ð$:Ñ!;Ô!;Ò;Ð;Ð;Ð;Ð;Ð;r.   c                 ó  — t           | dgg¦  «        ¦  «        }|                     dt          ¦  «         | g d¢g d¢g d¢g¦  «        k    sJ ‚|                     dt          ¦  «         | ddgddgddgg¦  «        k    sJ ‚d S )Nr   r   rØ   ©r   r   r   ©r   r   r   r    r   )r  Úeyer   rA  s     r+   Útest_XXM_eyerJ  €  s•   € åˆRˆR�!��‰YŒY‰Œ€AØ�5Š5�•B‰<Œ<˜2˜2˜y˜y˜y¨)¨)¨)°Y°Y°YÐ?Ñ@Ô@Ò@Ð@Ð@Ð@Ø�5Š5��ÑÔ   Q¨ F¨Q°¨F°Q¸°FÐ#;Ñ <Ô <Ò<Ð<Ð<Ð<Ð<Ð<r.   c                 ó¤   — t           | dgg¦  «        ¦  «        }|                     g d¢t          ¦  «         | g d¢g d¢g d¢g¦  «        k    sJ ‚d S )Nr   ræ   rØ   )r   r   r   r  )r  Údiagr   rA  s     r+   Útest_XXM_diagrM  ‡  s_   € åˆRˆR�!��‰YŒY‰Œ€AØ�6Š6�)�)�)�RÑ Ô  B B¨	¨	¨	°9°9°9¸i¸i¸iÐ'HÑ$IÔ$IÒIÐIÐIÐIÐIÐIr.   c                 ó€   —  | g d¢g d¢g¦  «        }|                      ¦   «          | ddgddgddgg¦  «        k    sJ ‚d S )	Nræ   rç   r   r   r   r   r   r   )Ú	transposerÙ   s     r+   Útest_XXM_transposerP  �  sZ   € à
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ�;Š;‰=Œ=˜B˜B  A ¨¨A¨°°A°Ð7Ñ8Ô8Ò8Ð8Ð8Ð8Ð8Ð8r.   c                 ó¢   —  | g d¢g d¢g¦  «        } | g d¢g d¢g¦  «        } | g d¢g d¢g¦  «        }|                      |¦  «        |k    sJ ‚d S )Nræ   rç   ©r   r   r   ©rÃ   rÅ   rÈ   )Úadd©r   rP   rõ   ÚCs       r+   Útest_XXM_addrW  “  sq   € à
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆIˆIˆI�{�{�{Ð#Ñ$Ô$€AØ�5Š5�‰8Œ8�qŠ=ˆ=ˆ=ˆ=ˆ=ˆ=r.   c                 ó¢   —  | g d¢g d¢g¦  «        } | g d¢g d¢g¦  «        } | g d¢g d¢g¦  «        }|                      |¦  «        |k    sJ ‚d S )Nræ   rç   r×   )ÚsubrU  s       r+   Útest_XXM_subrZ  ›  sq   € à
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ�5Š5�‰8Œ8�qŠ=ˆ=ˆ=ˆ=ˆ=ˆ=r.   c                 óî   —  | g d¢g d¢g¦  «        }t          d¦  «        }|                     |¦  «         | g d¢g d¢g¦  «        k    sJ ‚|                     |¦  «         | g d¢g d¢g¦  «        k    sJ ‚d S )Nræ   rç   r   rR  rS  )r   ÚmulÚrmul)r   rP   Úbs      r+   Útest_XXM_mulr_  £  s“   € à
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AÝ
ˆ1‰Œ€AØ�5Š5�‰8Œ8�r�r˜9˜9˜9 k k kÐ2Ñ3Ô3Ò3Ð3Ð3Ð3Ø�6Š6�!‰9Œ9˜˜˜I˜I˜I { { {Ð3Ñ4Ô4Ò4Ð4Ð4Ð4Ð4Ð4r.   c                 ó¨   —  | g d¢g d¢g¦  «        } | ddgddgddgg¦  «        } | d	d
gddgg¦  «        }|                      |¦  «        |k    sJ ‚d S )Nræ   rç   r   r   r   r   r   r   é   é   é1   é@   )ÚmatmulrU  s       r+   Útest_XXM_matmulrf  «  s}   € à
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆQ�ˆF�Q˜�F˜Q ˜FÐ#Ñ$Ô$€AØ
ˆˆR�ˆH�r˜2�hÐÑ Ô €AØ�8Š8�A‰;Œ;˜!ÒÐÐÐÐÐr.   c                 ó¢   —  | g d¢g d¢g¦  «        } | g d¢g d¢g¦  «        } | g d¢g d¢g¦  «        }|                      |¦  «        |k    sJ ‚d S )Nræ   rç   )r   r   rÄ   )rÑ   é   é$   )Úmul_elementwiserU  s       r+   Útest_XXM_mul_elementwiserk  ³  s{   € à
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆIˆIˆI�|�|�|Ð$Ñ%Ô%€AØ×Ò˜QÑÔ 1Ò$Ð$Ð$Ð$Ð$Ð$r.   c                 ó~   —  | g d¢g d¢g¦  «        } | g d¢g d¢g¦  «        }|                      ¦   «         |k    sJ ‚d S )Nræ   rç   )rº   r¹   r¸   )rÍ   éûÿÿÿiúÿÿÿ)Úneg)r   rP   rV  s      r+   Útest_XXM_negro  »  sS   € à
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆLˆLˆL˜,˜,˜,Ð'Ñ(Ô(€AØ�5Š5‰7Œ7�aŠ<ˆ<ˆ<ˆ<ˆ<ˆ<r.   c                 óâ   —  | g d¢g d¢gt           ¦  «        } | g d¢g d¢gt          ¦  «        }|                     t          ¦  «        |k    sJ ‚|                     t           ¦  «        |k    sJ ‚d S )Nræ   rç   )r   r   rt   ©r   rP   rõ   s      r+   Útest_XXM_convert_torr  Â  s~   € à
ˆˆIˆIˆI�y�y�yÐ!¥2Ñ&Ô&€AØ
ˆˆIˆIˆI�y�y�yÐ!¥2Ñ&Ô&€AØ�<Š<�ÑÔ˜qÒ Ð Ð Ð Ø�<Š<�ÑÔ˜qÒ Ð Ð Ð Ð Ð r.   c           	      óˆ   —  | g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }|                      ¦   «         ddgdgd	d
gdggk    sJ ‚d S )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   )ÚsccrÙ   s     r+   Útest_XXM_sccru  Ê  s„   € à
ˆØÐÐØÐÐØÐÐØÐÐØÐÐØÐÐðñ 	ô 	€Að �5Š5‰7Œ7˜˜1�v ˜s Q¨ F¨Q¨CÐ0Ò0Ð0Ð0Ð0Ð0Ð0r.   c                 óü   —  | g d¢g d¢g¦  «        } | ddgddgg¦  «        } | g d¢g d¢g¦  «        } | g d	¢g d
¢g¦  «        }|                      |¦  «        |k    sJ ‚|                      ||¦  «        |k    sJ ‚d S )Nræ   rç   r   rÃ   rÄ   rÅ   )r   r   r   r   rÃ   )r   r   r   rÄ   rÅ   )
r   r   r   r   rÃ   r   r   r   r   rÃ   )
r   r   r   rÄ   rÅ   r   r   r   rÄ   rÅ   )Úhstack©r   rP   rõ   rV  ÚABCs        r+   Útest_XXM_hstackrz  Ö  s¿   € à
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆQ�ˆF�Q˜�GÐÑÔ€AØ
ˆˆOˆOˆOÐ-Ð-Ð-Ð.Ñ/Ô/€AØ
ˆ"Ð,Ð,Ð,Ø.Ð.Ð.ð0ñ 1ô 1€Cà�8Š8�A‰;Œ;˜!ÒÐÐÐØ�8Š8�A�q‰>Œ>˜SÒ Ð Ð Ð Ð Ð r.   c           	      ó  —  | g d¢g d¢g¦  «        } | g d¢g¦  «        } | g d¢g d¢g d¢g¦  «        } | g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }|                      |¦  «        |k    sJ ‚|                      ||¦  «        |k    sJ ‚d S )Nræ   rç   rè   )Úvstackrx  s        r+   Útest_XXM_vstackr}  á  sÅ   € à
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆIˆIˆIˆ;‰Œ€AØ
ˆˆIˆIˆI�y�y�y ) ) )Ð,Ñ-Ô-€AØ
ˆ"ˆiˆiˆi˜˜˜ I I I¨y¨y¨y¸)¸)¸)ÀYÀYÀYÐOÑ
PÔ
P€CØ�8Š8�A‰;Œ;˜!ÒÐÐÐØ�8Š8�A�q‰>Œ>˜SÒ Ð Ð Ð Ð Ð r.   c                 óŽ   —  | g d¢g d¢g¦  «        } | g d¢g d¢g¦  «        }|                      d„ t          ¦  «        |k    sJ ‚d S )Nræ   rç   rR  rS  c                 ó   — d| z  S )Nr   rÞ   )r�   s    r+   r,   z$test_XXM_applyfunc.<locals>.<lambda>ï  s
   €   1¡€ r.   )Ú	applyfuncr   rq  s      r+   Útest_XXM_applyfuncr�  ë  sa   € à
ˆˆIˆIˆI�y�y�yÐ!Ñ"Ô"€AØ
ˆˆIˆIˆI�{�{�{Ð#Ñ$Ô$€AØ�;Š;�}�}¥bÑ)Ô)¨QÒ.Ð.Ð.Ð.Ð.Ð.r.   c                 ó*  —  | g d¢g d¢g¦  «                              ¦   «         du sJ ‚ | g d¢g d¢g¦  «                              ¦   «         du sJ ‚ | g ¦  «                              ¦   «         du sJ ‚ | g g g¦  «                              ¦   «         du sJ ‚d S )Nræ   )r   r   r   Trç   F)Úis_upper©r   s    r+   Útest_XXM_is_upperr…  ò  s¼   € àˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×.Ò.Ñ0Ô0°DÐ8Ð8Ð8Ð8Øˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×.Ò.Ñ0Ô0°EÐ9Ð9Ð9Ð9Øˆ2ˆb‰6Œ6�?Š?ÑÔ Ð$Ð$Ð$Ð$Øˆ2ˆr�2ˆh‰<Œ<× Ò Ñ"Ô" dÐ*Ð*Ð*Ð*Ð*Ð*r.   c                 ó¢   —  | g d¢g d¢g¦  «                              ¦   «         du sJ ‚ | g d¢g d¢g¦  «                              ¦   «         du sJ ‚d S )NrØ   )r   r   r   Træ   rç   F)Úis_lowerr„  s    r+   Útest_XXM_is_lowerrˆ  ú  sp   € àˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×.Ò.Ñ0Ô0°DÐ8Ð8Ð8Ð8Øˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×.Ò.Ñ0Ô0°EÐ9Ð9Ð9Ð9Ð9Ð9r.   c                 ó¢   —  | g d¢g d¢g¦  «                              ¦   «         du sJ ‚ | g d¢g d¢g¦  «                              ¦   «         du sJ ‚d S )NrØ   ©r   r   r   Træ   rç   F)Úis_diagonalr„  s    r+   Útest_XXM_is_diagonalrŒ     sp   € àˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×1Ò1Ñ3Ô3°tÐ;Ð;Ð;Ð;Øˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×1Ò1Ñ3Ô3°uÐ<Ð<Ð<Ð<Ð<Ð<r.   c                 ó\   —  | g d¢g d¢g¦  «                              ¦   «         ddgk    sJ ‚d S )NrØ   rŠ  r   r   )Údiagonalr„  s    r+   Útest_XXM_diagonalr�    s@   € àˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×.Ò.Ñ0Ô0°Q¸°FÒ:Ð:Ð:Ð:Ð:Ð:r.   c                 ó¢   —  | g d¢g d¢g¦  «                              ¦   «         du sJ ‚ | g d¢g d¢g¦  «                              ¦   «         du sJ ‚d S )Nr×   TrØ   F)Úis_zero_matrixr„  s    r+   Útest_XXM_is_zero_matrixr’    sp   € àˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×4Ò4Ñ6Ô6¸$Ð>Ð>Ð>Ð>Øˆ2ˆyˆyˆy˜)˜)˜)Ð$Ñ%Ô%×4Ò4Ñ6Ô6¸%Ð?Ð?Ð?Ð?Ð?Ð?r.   c                 ó¶   —  | g d¢g d¢g d¢g¦  «                              ¦   «         dk    sJ ‚ | g d¢g d¢g d¢g¦  «                              ¦   «         dk    sJ ‚d S )Nræ   rç   rè   r   ©r   rÃ   rÅ   r¸   )Údetr„  s    r+   Útest_XXM_det_ZZr–    s|   € àˆ2ˆyˆyˆy˜)˜)˜) Y Y YÐ/Ñ0Ô0×4Ò4Ñ6Ô6¸!Ò;Ð;Ð;Ð;Øˆ2ˆyˆyˆy˜)˜)˜) Z Z ZÐ0Ñ1Ô1×5Ò5Ñ7Ô7¸2Ò=Ð=Ð=Ð=Ð=Ð=r.   c                 óx   —  | ddgddgg¦  «        }|                      ¦   «         t          dd¦  «        k    sJ ‚d S )Nr-  r&   ©r   r   ©r   r   rº   rÅ   )r•  r   ©r   ÚdM1s     r+   Útest_XXM_det_QQrœ    sE   € à
ˆ"ˆu�eˆn˜u e˜nÐ-Ñ
.Ô
.€CØ�7Š7‰9Œ9�˜2˜b™	œ	Ò!Ð!Ð!Ð!Ð!Ð!r.   c                 óz  ‡‡—  | ddgddgg¦  «        } | ddgddgg¦  «        }|                      ¦   «         |k    sJ ‚|                     |¦  «         | d	d
gd
d	gg¦  «        k    sJ ‚ | ddgddgg¦  «        Št          t          ˆfd„¦  «          | g d¢g d¢g¦  «        Št          t          ˆfd„¦  «         d S )Nr-  r&   r˜  r™  )iøÿÿÿr   )é   r   )rÐ   r   )rm  r   r   r   ©r   r   ©r   r   c                  ó,   •— ‰                       ¦   «         S ro   ©Úinv)ÚdM3s   €r+   r,   z!test_XXM_inv_QQ.<locals>.<lambda>%  s   ø€ ¨s¯wªw©y¬y€ r.   )r-  r&   r˜  )rŸ  r   r-  c                  ó,   •— ‰                       ¦   «         S ro   r¢  )ÚdM4s   €r+   r,   z!test_XXM_inv_QQ.<locals>.<lambda>(  s   ø€ ¨3¯7ª7©9¬9€ r.   )r£  re  r   r   r   )r   r›  ÚdM2r¤  r¦  s      @@r+   Útest_XXM_inv_QQr¨    s  øø€ à
ˆ"ˆu�eˆn˜u e˜nÐ-Ñ
.Ô
.€CØ
ˆ"ˆv�vÐ ¨Ð 0Ð1Ñ
2Ô
2€CØ�7Š7‰9Œ9˜ÒÐÐÐØ�:Š:�c‰?Œ?˜b˜b 1 a &¨1¨a¨&Ð!1Ñ2Ô2Ò2Ð2Ð2Ð2à
ˆ"ˆu�eˆn˜u e˜nÐ-Ñ
.Ô
.€CÝ
Õ%Ð'8Ð'8Ð'8Ð'8Ñ9Ô9Ð9à
ˆ"Ð#Ð#Ð#Ð%:Ð%:Ð%:Ð;Ñ
<Ô
<€CÝ
Õ!Ð#4Ð#4Ð#4Ð#4Ñ5Ô5Ð5Ð5Ð5r.   c                 ó`   ‡—  | g d¢g d¢g d¢g¦  «        Št          t          ˆfd„¦  «         d S )Nræ   rç   r”  c                  ó,   •— ‰                       ¦   «         S ro   r¢  )r›  s   €r+   r,   z!test_XXM_inv_ZZ.<locals>.<lambda>0  s   ø€  #§'¢'¡)¤)€ r.   ©r   r
   rš  s    @r+   Útest_XXM_inv_ZZr¬  +  sG   ø€ à
ˆ"ˆiˆiˆi˜˜˜ J J JÐ/Ñ
0Ô
0€Cõ �=Ð+Ð+Ð+Ð+Ñ,Ô,Ð,Ð,Ð,r.   c                 óf   —  | g d¢g d¢g d¢g¦  «        }|                      ¦   «         g d¢k    sJ ‚d S )Nræ   rç   r”  )r   iðÿÿÿiôÿÿÿr   )Úcharpolyrš  s     r+   Útest_XXM_charpoly_ZZr¯  3  sJ   € à
ˆ"ˆiˆiˆi˜˜˜ J J JÐ/Ñ
0Ô
0€CØ�<Š<‰>Œ>Ð-Ð-Ð-Ò-Ð-Ð-Ð-Ð-Ð-r.   c                 ó¶   —  | ddgddgg¦  «        }|                      ¦   «         t          dd¦  «        t          dd¦  «        t          dd¦  «        gk    sJ ‚d S )	Nr-  r&   r˜  r™  r   ióÿÿÿrÅ   rº   )r®  r   rš  s     r+   Útest_XXM_charpoly_QQr±  9  s\   € à
ˆ"ˆu�eˆn˜u e˜nÐ-Ñ
.Ô
.€CØ�<Š<‰>Œ>�b  1™gœg¥r¨#¨b¡z¤zµ2°b¸±9´9Ð=Ò=Ð=Ð=Ð=Ð=Ð=r.   c                 óŒ   ‡‡—  | g d¢g d¢g d¢g¦  «        Š | g d¢g d¢g d¢g¦  «        Št          t          ˆˆfd„¦  «         d S )Nræ   rç   r”  rØ   rG  rH  c                  ó.   •— ‰                       ‰¦  «        S ro   ©Úlu_solve)r›  r§  s   €€r+   r,   z&test_XXM_lu_solve_ZZ.<locals>.<lambda>C  s   ø€  #§,¢,¨sÑ"3Ô"3€ r.   r«  )r   r›  r§  s    @@r+   Útest_XXM_lu_solve_ZZr¶  ?  sk   øø€ à
ˆ"ˆiˆiˆi˜˜˜ J J JÐ/Ñ
0Ô
0€CØ
ˆ"ˆiˆiˆi˜˜˜ I I IÐ.Ñ
/Ô
/€CÝ
�=Ð3Ð3Ð3Ð3Ð3Ñ4Ô4Ð4Ð4Ð4r.   c                 ój  ‡‡—  | g d¢g d¢g d¢g¦  «        } | g d¢g d¢g d¢g¦  «        } | g d¢g d¢g d	¢g¦  «        }|                      |¦  «        |cxk    r|                     ¦   «         k    sn J ‚ | g d¢g d¢g¦  «        Š | d
dgdd
gddgg¦  «        Št          t          ˆˆfd„¦  «         d S )Nræ   rç   r”  rØ   rG  rH  )©r¹   r   )rÍ   r   r,  )r¸  )rÆ   r   ©r¹   r   )r,  r¹  r,  r   r   c                  ó.   •— ‰                       ‰¦  «        S ro   r´  )r¦  ÚdM5s   €€r+   r,   z&test_XXM_lu_solve_QQ.<locals>.<lambda>O  s   ø€  §¢¨cÑ!2Ô!2€ r.   )rµ  r£  r   r   )r   r›  r§  r¤  r¦  r»  s       @@r+   Útest_XXM_lu_solve_QQr¼  F  s  øø€ à
ˆ"ˆiˆiˆi˜˜˜ J J JÐ/Ñ
0Ô
0€CØ
ˆ"ˆiˆiˆi˜˜˜ I I IÐ.Ñ
/Ô
/€CØ
ˆ"Ð#Ð#Ð#Ð$:Ð$:Ð$:Ð;OÐ;OÐ;OÐPÑ
QÔ
Q€CØ�<Š<˜ÑÔ Ð0Ð0Ò0Ð0 s§w¢w¡y¤yÒ0Ð0Ð0Ð0Ð0Ð0à
ˆ"ˆiˆiˆi˜˜˜Ð#Ñ
$Ô
$€CØ
ˆ"ˆq�!ˆf�q˜!�f˜q !˜fÐ%Ñ
&Ô
&€CÝ
�<Ð2Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ð3Ð3r.   c                 ó€   —  | g d¢g d¢g d¢g¦  «        }|                      ¦   «          | g d¢g¦  «        dgfk    sJ ‚d S )Nræ   rç   rè   )r   r¹   r   r   )Ú	nullspacerš  s     r+   Útest_XXM_nullspace_QQr¿  R  s\   € à
ˆ"ˆiˆiˆi˜˜˜ I I IÐ.Ñ
/Ô
/€Cð �=Š=‰?Œ?˜r˜r : : : ,Ñ/Ô/°!°Ð5Ò5Ð5Ð5Ð5Ð5Ð5r.   c                 ó  —  | g d¢g d¢g¦  «        } | g d¢g d¢g¦  «        } | ddgddgg¦  «        }|                      ¦   «         |k    sJ ‚|                     ¦   «         ||fk    sJ ‚|                     |¦  «        |k    sJ ‚d S )Nræ   )r   r   rž  )rº   rm  r   r   r   rm  )ÚlllÚlll_transformre  )r   r  ÚM_lllr   s       r+   Útest_XXM_lllrÄ  [  s¯   € à
ˆˆIˆIˆI�z�z�zÐ"Ñ#Ô#€AØˆB�	�	�	˜;˜;˜;Ð'Ñ(Ô(€EØ
ˆˆQ�ˆF�R˜�GÐÑÔ€AØ�5Š5‰7Œ7�eÒÐÐÐØ�?Š?ÑÔ ¨ 
Ò*Ð*Ð*Ð*Ø�8Š8�A‰;Œ;˜%ÒÐÐÐÐÐr.   c                 óf  — t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg} | |¦  «        }|                     ¦   «         \  }}|                     |¦  «        |k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚d S )Nr   r¹   r¸   r   ©r   Úqrre  rO  r‹  rƒ  ©r   r*   rP   ÚQÚRs        r+   Útest_XXM_qr_mixed_signsrË  e  s�   € åˆq‰EŒE•2�b‘6”6ˆ?�R ™VœV¥R¨¡U¤U˜OÐ
,€CØ
ˆˆ3‰Œ€AØ�4Š4‰6Œ6�D€A€qØ�8Š8�A‰;Œ;˜!ÒÐÐÐØ�KŠK‰MŒM× Ò  Ñ#Ô#Ô0Ð0Ð0Ð0ØŒ:ÐÐˆ:ÐÐr.   c                 ó   — d„ t          d¦  «        D ¦   «         } | |¦  «        }|                     ¦   «         \  }}|                     |¦  «        |k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚d S )Nc                 óF   ‡— g | ]Šˆfd „t          d¦  «        D ¦   «         ‘ŒS )c                 ó4   •— g | ]}t          ‰|z   ¦  «        ‘ŒS rÞ   )r   )Ú.0r¾   r½   s     €r+   ú
<listcomp>z7test_XXM_qr_large_matrix.<locals>.<listcomp>.<listcomp>q  s#   ø€ Ð)Ð)Ð)˜!�Bˆq�1‰u‰IŒIÐ)Ð)Ð)r.   rÅ   )Úrange)rÏ  r½   s    @r+   rÐ  z,test_XXM_qr_large_matrix.<locals>.<listcomp>q  s4   ø€ Ð
=Ð
=Ð
=¨aÐ)Ð)Ð)Ð)�u R™yœyÐ)Ñ)Ô)Ð
=Ð
=Ð
=r.   rÅ   )rÑ  rÇ  re  rO  r‹  rƒ  rÈ  s        r+   Útest_XXM_qr_large_matrixrÒ  o  sŒ   € à
=Ð
=µ5¸±9´9Ð
=Ñ
=Ô
=€CØ
ˆˆ3‰Œ€AØ�4Š4‰6Œ6�D€A€qØ�8Š8�A‰;Œ;˜!ÒÐÐÐØ�KŠK‰MŒM× Ò  Ñ#Ô#Ô0Ð0Ð0Ð0ØŒ:ÐÐˆ:ÐÐr.   c                 ó`  — t           | dgg¦  «        ¦  «        }|                     dt          ¦  «        }|                     ¦   «         \  }}||k    sJ ‚||k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚d S )Nr   r   rø   )	r  rI  r   rÇ  rO  re  r‹  rƒ  rD   ©r   r   rP   rÉ  rÊ  s        r+   Útest_XXM_qr_identity_matrixrÕ  y  s³   € åˆRˆR�!��‰YŒY‰Œ€AØ	�Šˆa•‰Œ€AØ�4Š4‰6Œ6�D€A€qØ�Š6ˆ6ˆ6ˆ6Ø�Š6ˆ6ˆ6ˆ6Ø�KŠK‰MŒM× Ò  Ñ#Ô#Ô0Ð0Ð0Ð0ØŒ:ÐÐˆ:ØŒ7�fÒÐÐÐØŒ7�fÒÐÐÐÐÐr.   c                 óf  — t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg} | |¦  «        }|                     ¦   «         \  }}|                     |¦  «        |k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚d S ©Nr   r   r   rÆ  rÈ  s        r+   Útest_XXM_qr_square_matrixrØ  †  ó�   € åˆq‰EŒE•2�a‘5”5ˆ>�B˜q™EœE¥2 a¡5¤5˜>Ð
*€CØ
ˆˆ3‰Œ€AØ�4Š4‰6Œ6�D€A€qØ�8Š8�A‰;Œ;˜!ÒÐÐÐØ�KŠK‰MŒM× Ò  Ñ#Ô#Ô0Ð0Ð0Ð0ØŒ:ÐÐˆ:ÐÐr.   c                 óf  — t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg} | |¦  «        }|                     ¦   «         \  }}|                     |¦  «        |k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚d S )Nr   r   r   rÆ  rÈ  s        r+   Ú$test_XXM_qr_matrix_with_zero_columnsrÛ  �  rÙ  r.   c                 óf  — t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg} | |¦  «        }|                     ¦   «         \  }}|                     |¦  «        |k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚d S )Nr   r   r   rÆ  rÈ  s        r+   Ú&test_XXM_qr_linearly_dependent_columnsrÝ  š  rÙ  r.   c                 ó   — t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg} | |¦  «        }t          j        t          ¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S r×  )r   Úpytestr   r
   rÇ  )r   r*   rP   s      r+   Útest_XXM_qr_non_fieldrà  ¤  sº   € åˆq‰EŒE•2�a‘5”5ˆ>�B˜q™EœE¥2 a¡5¤5˜>Ð
*€CØ
ˆˆ3‰Œ€AÝ	Œ•}Ñ	%Ô	%ð ð Ø	�Š‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á!BÂBÂ
Bc                 óf  — t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg} | |¦  «        }|                     ¦   «         \  }}|                     |¦  «        |k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚d S r×  rÆ  rÈ  s        r+   Útest_XXM_qr_fieldrâ  ¬  rÙ  r.   c                 ó   — t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg} | |¦  «        }|                     ¦   «         \  }}|                     |¦  «        |k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚d S ©Nr   r   r   r   r   r   rÆ  rÈ  s        r+   Útest_XXM_qr_tall_matrixrå  ¶  s¯   € åˆq‰EŒE•2�a‘5”5ˆ>�B˜q™EœE¥2 a¡5¤5˜>­B¨q©E¬Eµ2°a±5´5¨>Ð
:€CØ
ˆˆ3‰Œ€AØ�4Š4‰6Œ6�D€A€qØ�8Š8�A‰;Œ;˜!ÒÐÐÐØ�KŠK‰MŒM× Ò  Ñ#Ô#Ô0Ð0Ð0Ð0ØŒ:ÐÐˆ:ÐÐr.   c                 óž  — t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gg} | |¦  «        }|                     ¦   «         \  }}|                     |¦  «        |k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚d S rä  rÆ  rÈ  s        r+   Útest_XXM_qr_wide_matrixrç  À  s¯   € åˆq‰EŒE•2�a‘5”5�"˜Q™%œ%Ð ¥2 a¡5¤5­"¨Q©%¬%µ°A±´Ð"7Ð
8€CØ
ˆˆ3‰Œ€AØ�4Š4‰6Œ6�D€A€qØ�8Š8�A‰;Œ;˜!ÒÐÐÐØ�KŠK‰MŒM× Ò  Ñ#Ô#Ô0Ð0Ð0Ð0ØŒ:ÐÐˆ:ÐÐr.   c                 óŠ  — t           | dgg¦  «        ¦  «        }|                     dt          ¦  «        }|                     ¦   «         \  }}|                     |¦  «        j        |j        k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚d S )Nr   r!   ©	r  rô   r   rÇ  re  rD   rO  r‹  rƒ  rÔ  s        r+   Útest_XXM_qr_empty_matrix_0x0rê  Ê  ó»   € åˆRˆR�!��‰YŒY‰Œ€AØ	�Š��ÑÔ€AØ�4Š4‰6Œ6�D€A€qØ�8Š8�A‰;Œ;Ô ¤Ò'Ð'Ð'Ð'Ø�KŠK‰MŒM× Ò  Ñ#Ô#Ô0Ð0Ð0Ð0ØŒ:ÐÐˆ:ØŒ7�fÒÐÐÐØŒ7�fÒÐÐÐÐÐr.   c                 óŠ  — t           | dgg¦  «        ¦  «        }|                     dt          ¦  «        }|                     ¦   «         \  }}|                     |¦  «        j        |j        k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚d S )Nr   r#   r!   ré  rÔ  s        r+   Útest_XXM_qr_empty_matrix_2x0rí  Ö  rë  r.   c                 óŠ  — t           | dgg¦  «        ¦  «        }|                     dt          ¦  «        }|                     ¦   «         \  }}|                     |¦  «        j        |j        k    sJ ‚|                     ¦   «                              |¦  «        j        sJ ‚|j        sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚d S )Nr   r"   r!   ré  rÔ  s        r+   Útest_XXM_qr_empty_matrix_0x2rï  â  rë  r.   c                 óL  —  | ddgddgg¦  «        }|                      ¦   «         \  }}}}|                     t          ¦  «        }|                     t          ¦  «        }|                     t          ¦  «        }|                     t          ¦  «        }	|                     t          ¦  «        }
|j        |j        k    sJ ‚|j        |j        k    sJ ‚|j        |j        k    sJ ‚|j        |j        k    sJ ‚| | ddgddgg¦  «        k    sJ ‚| | ddgddgg¦  «        k    sJ ‚| | ddgddgg¦  «        k    sJ ‚| | ddgddgg¦  «        k    sJ ‚|                     |	                     ¦   «         ¦  «                             |
¦  «        |                     |¦  «        k    sJ ‚d S )Nr   r   r   r   r   r¹   )Úfflurt   r   rD   re  r£  )r   rP   ÚPÚLÚDÚUÚA_fieldÚP_fieldÚL_fieldÚD_fieldÚU_fields              r+   Útest_XXM_fflurû  î  sÁ  € à
ˆˆQ�ˆF�Q˜�FÐÑÔ€AØ—’‘”�J€A€qˆ!ˆQØ�lŠl�2ÑÔ€GØ�lŠl�2ÑÔ€GØ�lŠl�2ÑÔ€GØ�lŠl�2ÑÔ€GØ�lŠl�2ÑÔ€GØŒ7�a”gÒÐÐÐØŒ7�a”gÒÐÐÐØŒ7�a”gÒÐÐÐØŒ7�a”gÒÐÐÐØ���Q˜�F˜Q ˜FÐ#Ñ$Ô$Ò$Ð$Ð$Ð$Ø���Q˜�F˜Q ˜GÐ$Ñ%Ô%Ò%Ð%Ð%Ð%Ø���Q˜�F˜Q ˜GÐ$Ñ%Ô%Ò%Ð%Ð%Ð%Ø���Q˜�F˜Q ˜GÐ$Ñ%Ô%Ò%Ð%Ð%Ð%Ø�>Š>˜'Ÿ+š+™-œ-Ñ(Ô(×/Ò/°Ñ8Ô8¸G¿NºNÈ7Ñ<SÔ<SÒSÐSÐ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ß  rR   rl   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  r$  r(  r/  r2  r7  r;  r?  rB  rE  rJ  rM  rP  rW  rZ  r_  rf  rk  ro  rr  ru  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ê  rí  rï  rû  rÞ   r.   r+   ú<module>r     sš  ðð" -Ð ,Ð ,Ð ,Ð ,Ð ,à +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +ðð ð ð ð ð ð ð ð ð ð ð ð ð ð NÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mà -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø €€€ðXGð XGð XGðv3&ð 3&ð 3&ðl)Jð )Jð )JðX'Ið 'Ið 'IðT.ð .ð .ð ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
 �&˜&Ð	!€Ø�G˜WÐ
%€Ø�G˜WÐ
%€ð „×Ò˜˜wÑ'Ô'ð<ð <ñ (Ô'ð<ð" „×Ò˜˜wÑ'Ô'ð?+ð ?+ñ (Ô'ð?+ðDð ð ð ð ñ ô ð ð
 
ˆ‰Œ€ð „×Ò˜˜wÑ'Ô'ðUð Uñ (Ô'ðUð" „×Ò˜˜wÑ'Ô'ð=ð =ñ (Ô'ð=ð*30ð 30ð 30ðl „×Ò˜˜wÑ'Ô'ðIð Iñ (Ô'ðIð „×Ò˜˜wÑ'Ô'ðOð Oñ (Ô'ðOð
 „×Ò˜˜wÑ'Ô'ðPð Pñ (Ô'ðPð
 „×Ò˜˜wÑ'Ô'ðHð Hñ (Ô'ðHð „×Ò˜˜wÑ'Ô'ð<ð <ñ (Ô'ð<ð „×Ò˜˜wÑ'Ô'ðUð Uñ (Ô'ðUð „×Ò˜˜wÑ'Ô'ð6ð 6ñ (Ô'ð6ð
 „×Ò˜˜wÑ'Ô'ðEð Eñ (Ô'ðEð „×Ò˜˜wÑ'Ô'ð6ð 6ñ (Ô'ð6ð „×Ò˜˜wÑ'Ô'ðEð Eñ (Ô'ðEð „×Ò˜˜wÑ'Ô'ðFð Fñ (Ô'ðFð
 „×Ò˜˜wÑ'Ô'ðDð Dñ (Ô'ðDð „×Ò˜˜wÑ'Ô'ð9ð 9ñ (Ô'ð9ð „×Ò˜˜wÑ'Ô'ð=ð =ñ (Ô'ð=ð
 „×Ò˜˜wÑ'Ô'ð<ð <ñ (Ô'ð<ð
 „×Ò˜˜wÑ'Ô'ð=ð =ñ (Ô'ð=ð „×Ò˜˜wÑ'Ô'ðJð Jñ (Ô'ðJð
 „×Ò˜˜wÑ'Ô'ð9ð 9ñ (Ô'ð9ð
 „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ð5ð 5ñ (Ô'ð5ð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ð%ð %ñ (Ô'ð%ð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜vÑ&Ô&ð!ð !ñ 'Ô&ð!ð „×Ò˜˜wÑ'Ô'ð1ð 1ñ (Ô'ð1ð „×Ò˜˜wÑ'Ô'ð!ð !ñ (Ô'ð!ð „×Ò˜˜wÑ'Ô'ð!ð !ñ (Ô'ð!ð „×Ò˜˜wÑ'Ô'ð/ð /ñ (Ô'ð/ð „×Ò˜˜wÑ'Ô'ð+ð +ñ (Ô'ð+ð „×Ò˜˜wÑ'Ô'ð:ð :ñ (Ô'ð:ð
 „×Ò˜˜wÑ'Ô'ð=ð =ñ (Ô'ð=ð
 „×Ò˜˜wÑ'Ô'ð;ð ;ñ (Ô'ð;ð „×Ò˜˜wÑ'Ô'ð@ð @ñ (Ô'ð@ð
 „×Ò˜˜wÑ'Ô'ð>ð >ñ (Ô'ð>ð
 „×Ò˜˜wÑ'Ô'ð"ð "ñ (Ô'ð"ð
 „×Ò˜˜wÑ'Ô'ð
6ð 
6ñ (Ô'ð
6ð „×Ò˜˜wÑ'Ô'ð-ð -ñ (Ô'ð-ð „×Ò˜˜wÑ'Ô'ð.ð .ñ (Ô'ð.ð
 „×Ò˜˜wÑ'Ô'ð>ð >ñ (Ô'ð>ð
 „×Ò˜˜wÑ'Ô'ð5ð 5ñ (Ô'ð5ð „×Ò˜˜wÑ'Ô'ð4ð 4ñ (Ô'ð4ð „×Ò˜˜wÑ'Ô'ð6ð 6ñ (Ô'ð6ð „×Ò˜˜wÑ'Ô'ð ð  ñ (Ô'ð ð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ð	ð 	ñ (Ô'ð	ð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðð ñ (Ô'ðð „×Ò˜˜wÑ'Ô'ðTð Tñ (Ô'ðTð Tð Tr.   