§
    OŠtj;A  ã                   ó  — d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
mZmZmZ d„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd „ Z(d!„ Z)d"„ Z*d#„ Z+d$„ Z,d%„ Z-d&„ Z.d'„ Z/d(S ))é    )Úraises)ÚGROUND_TYPES)ÚZZÚQQ)ÚDDM)ÚDMShapeErrorÚDMNonInvertibleMatrixErrorÚDMDomainErrorÚDMBadInputErrorc                  ó°  — t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gg} d}t          | |t           ¦  «        }|j        |k    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|j        t           k    sJ ‚t          t          d„ ¦  «         t          t          d	„ ¦  «         d S )
Nr   é   é   é   é   é   ©r   r   c                  óh   — t          t          d¦  «        t          d¦  «        ggdt          ¦  «        S )Nr   r   ©r   r   ©r   r   © ó    úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/polys/matrices/tests/test_ddm.pyú<lambda>ztest_DDM_init.<locals>.<lambda>   s%   € ¥C­"¨Q©%¬%µ°A±´¨Ð(8¸&Å"Ñ$EÔ$E€ r   c                  ó†   — t          t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        S )Nr   r   r   r   r   r   r   r   r   ztest_DDM_init.<locals>.<lambda>   s/   € ¥C­"¨Q©%¬%¨µ2°a±5´5½"¸Q¹%¼%°.Ð(AÀ6Í2Ñ$NÔ$N€ r   )r   r   ÚshapeÚrowsÚcolsÚdomainr   r   )Úitemsr   Úddms      r   Útest_DDM_initr!      sÆ   € Ý�‰eŒe•R˜‘U”U�B˜q™EœEÐ"¥R¨¡U¤U­B¨q©E¬Eµ2°a±5´5Ð$9Ð:€EØ€EÝ
ˆe�U�BÑ
Ô
€CØŒ9˜ÒÐÐÐØŒ8�qŠ=ˆ=ˆ=ˆ=ØŒ8�qŠ=ˆ=ˆ=ˆ=ØŒ:�ÒÐÐÐå
�?ÐEÐEÑFÔFÐFÝ
�?ÐNÐNÑOÔOÐOÐOÐOr   c                  ó‚  ‡ — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Š ‰ d         d         t          d¦  «        k    sJ ‚‰ d         d         t          d¦  «        k    sJ ‚‰ d         d         t          d¦  «        k    sJ ‚‰ d         d         t          d¦  «        k    sJ ‚t          t          ˆ fd„¦  «         t          t          ˆ fd	„¦  «         t          d
¦  «        ‰ d         d<   ‰ d         d         t          d
¦  «        k    sJ ‚d S )Nr   r   r   r   r   r   r   c                  ó    •— ‰ d         d         S ©Nr   r   r   ©r    s   €r   r   z%test_DDM_getsetitem.<locals>.<lambda>!   ó   ø€ ˜s 1œv aœy€ r   c                  ó    •— ‰ d         d         S ©Nr   r   r   r%   s   €r   r   z%test_DDM_getsetitem.<locals>.<lambda>"   r&   r   éÿÿÿÿ)r   r   r   Ú
IndexErrorr%   s   @r   Útest_DDM_getsetitemr+      s!  ø€ Ý
•�1‘”•r˜!‘u”uˆ~¥ 1¡¤¥r¨!¡u¤u˜~Ð.°½Ñ
;Ô
;€CàˆqŒ6�!Œ9�˜1™œÒÐÐÐØˆqŒ6�!Œ9�˜1™œÒÐÐÐØˆqŒ6�!Œ9�˜1™œÒÐÐÐØˆqŒ6�!Œ9�˜1™œÒÐÐÐå
�:Ð(Ð(Ð(Ð(Ñ)Ô)Ð)Ý
�:Ð(Ð(Ð(Ð(Ñ)Ô)Ð)å�2‘”€Cˆ„Fˆ1�IØˆqŒ6�!Œ9�˜2™œÒÐÐÐÐÐr   c                  óh  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          dk    r,t          | ¦  «        dk    sJ ‚t	          | ¦  «        dk    sJ ‚d S t	          | ¦  «        d	k    sJ ‚t          | ¦  «        dk    sJ ‚d S )
Nr   r   r   r   r   Úgmpyz[[0, 1], [2, 3]]z5DDM([[mpz(0), mpz(1)], [mpz(2), mpz(3)]], (2, 2), ZZ)z!DDM([[0, 1], [2, 3]], (2, 2), ZZ))r   r   r   ÚstrÚreprr%   s    r   Útest_DDM_strr0   (   s¯   € Ý
•�1‘”•r˜!‘u”uˆ~¥ 1¡¤¥r¨!¡u¤u˜~Ð.°½Ñ
;Ô
;€CÝ�vÒÐÝ�3‰xŒxÐ-Ò-Ð-Ð-Ð-Ý�C‰yŒyÐSÒSÐSÐSÐSÐSÐSå�C‰yŒyÐ?Ò?Ð?Ð?Ð?Ý�3‰xŒxÐ-Ò-Ð-Ð-Ð-Ð-Ð-r   c                  óº  — t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg} t          | dt           ¦  «        }t          | dt           ¦  «        }||k    du sJ ‚|| k    du sJ ‚| |k    du sJ ‚||k    du sJ ‚||k    du sJ ‚||k    du sJ ‚|| k    du sJ ‚| |k    du sJ ‚||k    du sJ ‚||k    du sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt           ¦  «        }t          | dt          ¦  «        }||k    du sJ ‚||k    du sJ ‚||k    du sJ ‚||k    du sJ ‚d S )Nr   r   r   r   r   TF)r   r   r   )r   Úddm1Úddm2Úddm3s       r   Útest_DDM_eqr5   2   sÁ  € Ý�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^Ð,€EÝˆu�f�bÑ!Ô!€DÝˆu�f�bÑ!Ô!€Dà�DŠL˜TÐ!Ð!Ð!Ð!Ø�EŠM˜eÐ#Ð#Ð#Ð#Ø�TŠM˜eÐ#Ð#Ð#Ð#Ø�DŠL˜TÐ!Ð!Ð!Ð!Ø�DŠL˜TÐ!Ð!Ð!Ð!à�DŠL˜UÐ"Ð"Ð"Ð"Ø�EŠM˜dÐ"Ð"Ð"Ð"Ø�TŠM˜dÐ"Ð"Ð"Ð"Ø�DŠL˜UÐ"Ð"Ð"Ð"Ø�DŠL˜UÐ"Ð"Ð"Ð"å•�A‘”�˜1™œ�¥ A¡¤­¨1©¬ Ð/°½Ñ<Ô<€DÝˆu�f�bÑ!Ô!€Dà�DŠL˜UÐ"Ð"Ð"Ð"Ø�DŠL˜UÐ"Ð"Ð"Ð"Ø�DŠL˜TÐ!Ð!Ð!Ð!Ø�DŠL˜TÐ!Ð!Ð!Ð!Ð!Ð!r   c                  ó  — t          t          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      t          ¦  «        | k    sJ ‚|                      t          ¦  «        }|j        t          k    sJ ‚d S )Nr   r   ©r   r   )r   r   Ú
convert_tor   r   )r    Úddmqs     r   Útest_DDM_convert_tor:   L   sm   € Ý
•�1‘”•r˜!‘u”uˆ~Ð ­Ñ
+Ô
+€CØ�>Š>�"ÑÔ Ò$Ð$Ð$Ð$Ø�>Š>�"ÑÔ€DØŒ;�"ÒÐÐÐÐÐr   c                  óÌ   — t          j        dt          ¦  «        } t          | ¦  «        t          d¦  «        gdz  gdz  k    sJ ‚| j        dk    sJ ‚| j        t          k    sJ ‚d S )N©r   r   r   r   r   )r   Úzerosr   Úlistr   r   )Úddmzs    r   Útest_DDM_zerosr@   S   si   € ÝŒ9�V�RÑ Ô €DÝ�‰:Œ:�2˜a™5œ5˜' A™+˜¨Ñ*Ò*Ð*Ð*Ð*ØŒ:˜ÒÐÐÐØŒ;�"ÒÐÐÐÐÐr   c                  óÌ   — t          j        dt          ¦  «        } t          | ¦  «        t          d¦  «        gdz  gdz  k    sJ ‚| j        dk    sJ ‚| j        t          k    sJ ‚d S )Nr   r   r   r   )r   Úonesr   r>   r   r   )Úddmones    r   Útest_DDM_onesrD   Y   si   € ÝŒX�f�bÑ!Ô!€FÝ�‰<Œ<�R ™UœU˜G a™K˜=¨1Ñ,Ò,Ð,Ð,Ð,ØŒ<˜6Ò!Ð!Ð!Ð!ØŒ=�BÒÐÐÐÐÐr   c                  óÜ   ‡— t          j        dt          ¦  «        } d„ Št          | ¦  «        ˆfd„t	          d¦  «        D ¦   «         k    sJ ‚| j        dk    sJ ‚| j        t          k    sJ ‚d S )Nr   c                 óJ   — | |k    rt          d¦  «        nt          d¦  «        S )Nr   r   )r   )ÚiÚjs     r   r   ztest_DDM_eye.<locals>.<lambda>a   s   € ˜a 1šf˜f•R˜‘U”U�U­"¨Q©%¬%€ r   c                 óJ   •‡— g | ]Šˆˆfd „t          d¦  «        D ¦   «         ‘ŒS )c                 ó(   •— g | ]} ‰|‰¦  «        ‘ŒS r   r   )Ú.0rG   ÚfrH   s     €€r   ú
<listcomp>z+test_DDM_eye.<locals>.<listcomp>.<listcomp>b   s#   ø€ Ð5Ð5Ð5 q˜1˜1˜Q ™7œ7Ð5Ð5Ð5r   r   )Úrange)rK   rH   rL   s    @€r   rM   z test_DDM_eye.<locals>.<listcomp>b   s8   øø€ ÐHÐHÐH¸!Ð5Ð5Ð5Ð5Ð5­E°!©H¬HÐ5Ñ5Ô5ÐHÐHÐHr   ©r   r   )r   Úeyer   r>   rN   r   r   )r?   rL   s    @r   Útest_DDM_eyerQ   _   sx   ø€ ÝŒ7�1•b‰>Œ>€DØ/Ð/€AÝ�‰:Œ:ÐHÐHÐHÐH½uÀQ¹x¼xÐHÑHÔHÒHÐHÐHÐHØŒ:˜ÒÐÐÐØŒ;�"ÒÐÐÐÐÐr   c                  ó2  — t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        } |                      ¦   «         }| |k    du sJ ‚t          d¦  «        | d         d<   | |k    du sJ ‚t          d¦  «        |d         d<   | |k    du sJ ‚d S )Nr   r   ©r   r   Tr)   r   F)r   r   Úcopy)r2   r3   s     r   Útest_DDM_copyrU   g   s    € Ý•�A‘”��"˜Q™%œ%˜Ð! 6­2Ñ.Ô.€DØ�9Š9‰;Œ;€DØ�DŠL˜TÐ!Ð!Ð!Ð!Ý�B‘”€Dˆ„GˆA�JØ�DŠL˜UÐ"Ð"Ð"Ð"Ý�B‘”€Dˆ„GˆA�JØ�DŠL˜TÐ!Ð!Ð!Ð!Ð!Ð!r   c                  ó,  — t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        ggdt          ¦  «        }|                      ¦   «         |k    sJ ‚t          g dt          ¦  «        }t          g g gdt          ¦  «        }|                     ¦   «         |k    sJ ‚|                     ¦   «         |k    sJ ‚t          g dt          ¦  «        }|                     ¦   «         |k    sJ ‚d S )Nr   r   rS   r7   ©r   r   ©r   r   ©r   r   )r   r   Ú	transpose)r    ÚddmTÚddm02Úddm02TÚddm0s        r   Útest_DDM_transposer_   q   sõ   € Ý
•�1‘”ˆw�˜A™œ˜Ð  &­"Ñ
-Ô
-€CÝ•�A‘”�˜1™œ�Ð ­Ñ,Ô,€DØ�=Š=‰?Œ?˜dÒ"Ð"Ð"Ð"Ý��F�BÑÔ€EÝ�"�b�˜6¥2Ñ&Ô&€FØ�?Š?ÑÔ Ò&Ð&Ð&Ð&Ø×ÒÑÔ Ò&Ð&Ð&Ð&Ýˆr�6�2ÑÔ€DØ�>Š>ÑÔ˜tÒ#Ð#Ð#Ð#Ð#Ð#r   c                  óì  ‡‡— t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          d¦  «        gt          d¦  «        ggdt          ¦  «        } t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        }t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Š‰| z   ‰                     | ¦  «        cxk    r|k    sn J ‚t	          t
          ˆfd„¦  «         t	          t          ˆfd„¦  «         t	          t          ˆfd	„¦  «         t	          t          ˆˆfd
„¦  «         t	          t          ˆˆfd„¦  «         d S )Nr   r   rS   r   r   é   c                  óT   •— ‰ t          t          d¦  «        ggdt          ¦  «        z   S )Nr   ©r   r   r   ©ÚAs   €r   r   ztest_DDM_add.<locals>.<lambda>„   s"   ø€  ¥S­2¨a©5¬5¨'¨°F½BÑ%?Ô%?Ñ!?€ r   c                  ó(   •— ‰ t          d¦  «        z   S ©Nr   ©r   rd   s   €r   r   ztest_DDM_add.<locals>.<lambda>…   ó   ø€ ˜a¥" Q¡%¤%™i€ r   c                  ó(   •— t          d¦  «        ‰ z   S rg   rh   rd   s   €r   r   ztest_DDM_add.<locals>.<lambda>†   ó   ø€ �b ™eœe a™i€ r   c                  ó   •— ‰ ‰z   S ©Nr   ©re   ÚAQs   €€r   r   ztest_DDM_add.<locals>.<lambda>‡   ó   ø€  ! b¡&€ r   c                  ó   •— ‰‰ z   S rm   r   rn   s   €€r   r   ztest_DDM_add.<locals>.<lambda>ˆ   ó   ø€  " q¡&€ r   )r   r   r   Úaddr   r   Ú	TypeErrorr
   )ÚBÚCre   ro   s     @@r   Útest_DDM_addrw   }   sS  øø€ Ý�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ	�r�!‰uŒuˆg�˜1™œ�wÐ ­Ñ	,Ô	,€BØˆq‰5�A—E’E˜!‘H”HÐ!Ð!Ò!Ð! Ò!Ð!Ð!Ð!Ð!Ð!å
�<Ð?Ð?Ð?Ð?Ñ@Ô@Ð@Ý
�9Ð'Ð'Ð'Ð'Ñ(Ô(Ð(Ý
�9Ð'Ð'Ð'Ð'Ñ(Ô(Ð(Ý
�=˜.˜.˜.˜.˜.Ñ)Ô)Ð)Ý
�=˜.˜.˜.˜.˜.Ñ)Ô)Ð)Ð)Ð)r   c                  ó4  ‡‡‡— t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          d¦  «        gt          d¦  «        ggdt          ¦  «        } t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        }t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          d¦  «        ggdt          ¦  «        Š‰| z
  ‰                     | ¦  «        cxk    r|k    sn J ‚t	          t
          ˆfd	„¦  «         t	          t
          ˆfd
„¦  «         t	          t          ˆˆfd„¦  «         t	          t          ˆˆfd„¦  «         t	          t          ˆˆfd„¦  «         t	          t          ˆˆfd„¦  «         t	          t          ˆˆfd„¦  «         t	          t          ˆˆfd„¦  «         t	          t          ˆˆfd„¦  «         t	          t          ˆˆfd„¦  «         d S )Nr   r   rS   r   r   éþÿÿÿr   rc   c                  ó(   •— ‰ t          d¦  «        z
  S rg   rh   rd   s   €r   r   ztest_DDM_sub.<locals>.<lambda>“   ri   r   c                  ó(   •— t          d¦  «        ‰ z
  S rg   rh   rd   s   €r   r   ztest_DDM_sub.<locals>.<lambda>”   rk   r   c                  ó   •— ‰ ‰z
  S rm   r   ©re   ÚDs   €€r   r   ztest_DDM_sub.<locals>.<lambda>•   ó   ø€   Q¡€ r   c                  ó   •— ‰‰ z
  S rm   r   r}   s   €€r   r   ztest_DDM_sub.<locals>.<lambda>–   r   r   c                  ó.   •— ‰                       ‰¦  «        S rm   ©Úsubr}   s   €€r   r   ztest_DDM_sub.<locals>.<lambda>—   ó   ø€  §¢ q¡¤€ r   c                  ó.   •— ‰                      ‰ ¦  «        S rm   r‚   r}   s   €€r   r   ztest_DDM_sub.<locals>.<lambda>˜   r„   r   c                  ó   •— ‰ ‰z
  S rm   r   rn   s   €€r   r   ztest_DDM_sub.<locals>.<lambda>™   rp   r   c                  ó   •— ‰‰ z
  S rm   r   rn   s   €€r   r   ztest_DDM_sub.<locals>.<lambda>š   rr   r   c                  ó.   •— ‰                       ‰¦  «        S rm   r‚   rn   s   €€r   r   ztest_DDM_sub.<locals>.<lambda>›   s   ø€  !§%¢%¨¡)¤)€ r   c                  ó.   •— ‰                      ‰ ¦  «        S rm   r‚   rn   s   €€r   r   ztest_DDM_sub.<locals>.<lambda>œ   s   ø€  "§&¢&¨¡)¤)€ r   )r   r   r   rƒ   r   rt   r   r
   )ru   rv   re   ro   r~   s     @@@r   Útest_DDM_subrŠ   ‹   sù  øøø€ Ý�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ�b�‰fŒfˆX�˜2™œ�xÐ  &­"Ñ-Ô-€AÝ	�r�!‰uŒuˆg�˜1™œ�wÐ ­Ñ	,Ô	,€BÝ�b�‰eŒeˆWˆI�v�rÑ"Ô"€AØˆq‰5�A—E’E˜!‘H”HÐ!Ð!Ò!Ð! Ò!Ð!Ð!Ð!Ð!Ð!å
�9Ð'Ð'Ð'Ð'Ñ(Ô(Ð(Ý
�9Ð'Ð'Ð'Ð'Ñ(Ô(Ð(Ý
�<˜˜˜˜˜Ñ'Ô'Ð'Ý
�<˜˜˜˜˜Ñ'Ô'Ð'Ý
�<Ð)Ð)Ð)Ð)Ð)Ñ*Ô*Ð*Ý
�<Ð)Ð)Ð)Ð)Ð)Ñ*Ô*Ð*Ý
�=˜.˜.˜.˜.˜.Ñ)Ô)Ð)Ý
�=˜.˜.˜.˜.˜.Ñ)Ô)Ð)Ý
�=Ð+Ð+Ð+Ð+Ð+Ñ,Ô,Ð,Ý
�=Ð+Ð+Ð+Ð+Ð+Ñ,Ô,Ð,Ð,Ð,r   c                  óf  — t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        } t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        }|  |                      ¦   «         cxk    r|k    sn J ‚| |                     ¦   «         cxk    r| k    sn J ‚d S )Nr   r   rS   r)   ry   )r   r   Úneg)re   ÚAns     r   Útest_DDM_negrŽ   Ÿ   s²   € Ý�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ	�r�"‰vŒvˆh�˜B™œ˜Ð! 6­2Ñ	.Ô	.€BØˆ2�—’‘”ÐÐÒÐ˜BÒÐÐÐÐÐØˆ3�"—&’&‘(”(ÐÐÒÐ˜aÒÐÐÐÐÐÐÐr   c                  ó\  ‡— t          t          d¦  «        ggdt          ¦  «        Št          t          d¦  «        ggdt          ¦  «        } ‰t          d¦  «        z  | k    sJ ‚t          d¦  «        ‰z  | k    sJ ‚t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         d S )Nr   rc   r   c                  ó   •— dgg‰ z  S rg   r   rd   s   €r   r   ztest_DDM_mul.<locals>.<lambda>«   s   ø€  ˜s˜e a™i€ r   c                  ó   •— ‰ dggz  S rg   r   rd   s   €r   r   ztest_DDM_mul.<locals>.<lambda>¬   s   ø€ ˜a A 3 %™i€ r   )r   r   r   rt   )ÚA2re   s    @r   Útest_DDM_mulr“   ¦   s¡   ø€ Ý�b�‰eŒeˆWˆI�v�rÑ"Ô"€AÝ	�r�!‰uŒuˆgˆY˜¥Ñ	#Ô	#€BØ�r�!‰uŒu‰9˜Š?ˆ?ˆ?ˆ?Ýˆa‰5Œ5�1‰9˜Š?ˆ?ˆ?ˆ?Ý
�9Ð'Ð'Ð'Ð'Ñ(Ô(Ð(Ý
�9Ð'Ð'Ð'Ð'Ñ(Ô(Ð(Ð(Ð(r   c                  ó&  ‡‡	‡
‡‡— t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          d¦  «        t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggd	t          ¦  «        }t          t          d
¦  «        ggdt          ¦  «        }‰| z  ‰                     | ¦  «        cxk    r|k    sn J ‚| ‰z  |                      ‰¦  «        cxk    r|k    sn J ‚t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          d¦  «        t          d¦  «        ggdt
          ¦  «        Š	t          t          ˆˆ	fd„¦  «         t          t          ˆˆ	fd„¦  «         t          t          d¦  «        ggdt          ¦  «        Š
‰‰
z  ‰                     ‰
¦  «        cxk    r‰k    sn J ‚t          t          ˆˆ
fd„¦  «         t          t          ˆˆ
fd„¦  «         t          g dt          ¦  «        }t          g gdz  dt          ¦  «        Št          g gdz  dt          ¦  «        }t          g dt          ¦  «        Št          dgdz  gdz  dt          ¦  «        }t          dgdz  gdz  dt          ¦  «        }t          g dt          ¦  «        }||z  |                     |¦  «        cxk    r‰k    sn J ‚||z  |                     |¦  «        cxk    r‰k    sn J ‚||z  |                     |¦  «        cxk    r|k    sn J ‚||z  |                     |¦  «        cxk    r|k    sn J ‚||z  |                     |¦  «        cxk    r|k    sn J ‚||z  |                     |¦  «        cxk    r|k    sn J ‚t          t          ˆˆfd„¦  «         t          t          ˆˆfd„¦  «         d S )Nr   r   rS   r   r   r7   ra   é   r   é   rc   c                  ó   •— ‰ dz  S rg   r   rd   s   €r   r   z!test_DDM_matmul.<locals>.<lambda>¸   s   ø€ ˜a !™e€ r   c                  ó   •— ‰ ddggz  S )Nr   r   r   rd   s   €r   r   z!test_DDM_matmul.<locals>.<lambda>¹   s   ø€ ˜a A q 6 (™l€ r   c                  ó   •— ‰ ‰z  S rm   r   ©re   ÚBqs   €€r   r   z!test_DDM_matmul.<locals>.<lambda>½   rp   r   c                  ó   •— ‰‰ z  S rm   r   rš   s   €€r   r   z!test_DDM_matmul.<locals>.<lambda>¾   rr   r   c                  ó   •— ‰‰ z  S rm   r   ©re   rv   s   €€r   r   z!test_DDM_matmul.<locals>.<lambda>Ä   r   r   c                  ó.   •— ‰                      ‰ ¦  «        S rm   ©Úmatmulrž   s   €€r   r   z!test_DDM_matmul.<locals>.<lambda>Å   s   ø€  §¢¨!¡¤€ r   ©r   r   )r   r   r   )r   r   )r   r   r   )r   r   )r   r   rY   c                  ó   •— ‰ ‰z  S rm   r   ©ÚZ05ÚZ40s   €€r   r   z!test_DDM_matmul.<locals>.<lambda>Ö   s   ø€   s¡€ r   c                  ó.   •— ‰                       ‰¦  «        S rm   r    r¤   s   €€r   r   z!test_DDM_matmul.<locals>.<lambda>×   s   ø€  §¢¨C¡¤€ r   )r   r   r¡   r   rt   r   r
   r   )ru   ÚABÚBAÚZ04ÚZ50ÚZ45ÚZ54ÚZ00re   r›   rv   r¥   r¦   s           @@@@@r   Útest_DDM_matmulr¯   ¯   s  øøøøø€ Ý�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ�b�‰eŒe•R˜‘U”Uˆ^Ð˜f¥bÑ)Ô)€AÝ	�r�!‰uŒu•b˜‘e”eˆn�r !™uœu¥b¨¡e¤e˜nÐ-¨vµrÑ	:Ô	:€BÝ	�r�"‰vŒvˆhˆZ˜¥Ñ	$Ô	$€Bàˆq‰5�A—H’H˜Q‘K”KÐ%Ð%Ò%Ð% 2Ò%Ð%Ð%Ð%Ð%Ð%Øˆq‰5�A—H’H˜Q‘K”KÐ%Ð%Ò%Ð% 2Ò%Ð%Ð%Ð%Ð%Ð%å
�9�m�m�m�mÑ$Ô$Ð$Ý
�9Ð*Ð*Ð*Ð*Ñ+Ô+Ð+å	�r�!‰uŒu•b˜‘e”eˆnÐ˜v¥rÑ	*Ô	*€Bå
�=˜.˜.˜.˜.˜.Ñ)Ô)Ð)Ý
�=˜.˜.˜.˜.˜.Ñ)Ô)Ð)å�b�‰eŒeˆWˆI�v�rÑ"Ô"€Aàˆq‰5�A—H’H˜Q‘K”KÐ$Ð$Ò$Ð$ 1Ò$Ð$Ð$Ð$Ð$Ð$å
�<˜˜˜˜˜Ñ'Ô'Ð'Ý
�<Ð,Ð,Ð,Ð,Ð,Ñ-Ô-Ð-å
ˆb�&�"Ñ
Ô
€CÝ
ˆrˆd�1‰f�f�bÑ
!Ô
!€CÝ
ˆrˆd�1‰f�f�bÑ
!Ô
!€CÝ
ˆb�&�"Ñ
Ô
€CÝ
�ˆs�Q‰wˆi˜!‰m˜V¥RÑ
(Ô
(€CÝ
�ˆs�Q‰wˆi˜!‰m˜V¥RÑ
(Ô
(€CÝ
ˆb�&�"Ñ
Ô
€Cà�‰9˜Ÿ
š
 3™œÐ.Ð.Ò.Ð.¨3Ò.Ð.Ð.Ð.Ð.Ð.Ø�‰9˜Ÿ
š
 3™œÐ.Ð.Ò.Ð.¨3Ò.Ð.Ð.Ð.Ð.Ð.Ø�‰9˜Ÿ
š
 3™œÐ.Ð.Ò.Ð.¨3Ò.Ð.Ð.Ð.Ð.Ð.Ø�‰9˜Ÿ
š
 3™œÐ.Ð.Ò.Ð.¨3Ò.Ð.Ð.Ð.Ð.Ð.Ø�‰9˜Ÿ
š
 3™œÐ.Ð.Ò.Ð.¨3Ò.Ð.Ð.Ð.Ð.Ð.Ø�‰9˜Ÿ
š
 3™œÐ.Ð.Ò.Ð.¨3Ò.Ð.Ð.Ð.Ð.Ð.å
�<Ð*Ð*Ð*Ð*Ð*Ñ+Ô+Ð+Ý
�<Ð0Ð0Ð0Ð0Ð0Ñ1Ô1Ð1Ð1Ð1r   c                  ó²  — t          t          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        ggdt          ¦  «        }t          t          d¦  «        ggd	t          ¦  «        }|                      |¦  «        }|j        d
k    sJ ‚|j        t          k    sJ ‚|t          t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        ggd
t          ¦  «        k    sJ ‚|                      ||¦  «        }|j        dk    sJ ‚|j        t          k    sJ ‚|t          t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        k    sJ ‚d S )Nr   r   r   ©r   r   r   r   r7   ra   rc   )r   r   )r   ra   )r   r   Úhstackr   r   ©re   ru   rv   ÚAhs       r   Útest_DDM_hstackrµ   Ú   sr  € Ý�b�‰eŒe•R˜‘U”U�B˜q™EœEÐ"Ð# V­RÑ0Ô0€AÝ�b�‰eŒe•R˜‘U”Uˆ^Ð˜f¥bÑ)Ô)€AÝ�b�‰eŒeˆWˆI�v�rÑ"Ô"€Aà	
�Š�!‰Œ€BØŒ8�vÒÐÐÐØŒ9�Š?ˆ?ˆ?ˆ?Ø••r˜!‘u”u�b ™eœe¥R¨¡U¤U­B¨q©E¬Eµ2°a±5´5Ð9Ð:¸FÅBÑGÔGÒGÐGÐGÐGà	
�Š�!�Q‰Œ€BØŒ8�vÒÐÐÐØŒ9�Š?ˆ?ˆ?ˆ?Ø••r˜!‘u”u�b ™eœe¥R¨¡U¤U­B¨q©E¬Eµ2°a±5´5½"¸Q¹%¼%Ð@ÐAÀ6Í2ÑNÔNÒNÐNÐNÐNÐNÐNr   c                  óÊ  — t          t          d¦  «        gt          d¦  «        gt          d¦  «        ggdt          ¦  «        } t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        }t          t          d¦  «        ggd	t          ¦  «        }|                      |¦  «        }|j        d
k    sJ ‚|j        t          k    sJ ‚|t          t          d¦  «        gt          d¦  «        gt          d¦  «        gt          d¦  «        gt          d¦  «        ggd
t          ¦  «        k    sJ ‚|                      ||¦  «        }|j        dk    sJ ‚|j        t          k    sJ ‚|t          t          d¦  «        gt          d¦  «        gt          d¦  «        gt          d¦  «        gt          d¦  «        gt          d¦  «        ggdt          ¦  «        k    sJ ‚d S )Nr   r   r   ©r   r   r   r   rS   ra   rc   )r   r   )ra   r   )r   r   Úvstackr   r   r³   s       r   Útest_DDM_vstackr¹   ê   sˆ  € Ý�b�‰eŒeˆW•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ�b�‰eŒeˆWˆI�v�rÑ"Ô"€Aà	
�Š�!‰Œ€BØŒ8�vÒÐÐÐØŒ9�Š?ˆ?ˆ?ˆ?Ø••r˜!‘u”u�g¥ 1¡¤˜w­¨A©¬¨µ"°Q±%´%°½2¸a¹5¼5¸'ÐBÀFÍBÑOÔOÒOÐOÐOÐOà	
�Š�!�Q‰Œ€BØŒ8�vÒÐÐÐØŒ9�Š?ˆ?ˆ?ˆ?Ø••r˜!‘u”u�g¥ 1¡¤˜w­¨A©¬¨µ"°Q±%´%°½2¸a¹5¼5¸'ÅBÀqÁEÄEÀ7ÐKÈVÕUWÑXÔXÒXÐXÐXÐXÐXÐXr   c                  óN  — t          t          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        }|                      d„ t          ¦  «        |k    sJ ‚d S )Nr   r   r   r±   r   ra   c                 ó   — d| z  S )Nr   r   )Úxs    r   r   z$test_DDM_applyfunc.<locals>.<lambda>ý   s
   €   1¡€ r   )r   r   Ú	applyfunc©re   ru   s     r   Útest_DDM_applyfuncr¿   ú   sƒ   € Ý�b�‰eŒe•R˜‘U”U�B˜q™EœEÐ"Ð# V­RÑ0Ô0€AÝ�b�‰eŒe•R˜‘U”U�B˜q™EœEÐ"Ð# V­RÑ0Ô0€AØ�;Š;�}�}¥bÑ)Ô)¨QÒ.Ð.Ð.Ð.Ð.Ð.r   c                  ó®	  — t          g dt          ¦  «        } |                      ¦   «         | g fk    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }ddg}|                      ¦   «         ||fk    sJ ‚t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        t          d	¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        }ddg}|                      ¦   «         ||fk    sJ ‚t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        t          d	¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        }ddg}|                      ¦   «         ||fk    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggd
t          ¦  «        } t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggd
t          ¦  «        }ddg}|                      ¦   «         ||fk    sJ ‚t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        }ddg}|                      ¦   «         ||fk    sJ ‚d S )Nr¢   r   r   r   r   r   r   r   r)   ©r   r   )r   r   Úrref)re   ÚArÚpivotss      r   Útest_DDM_rrefrÅ   ÿ   s   € åˆB��ÑÔ€AØ�6Š6‰8Œ8˜˜2�wÒÐÐÐå�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^Ð,¨fµbÑ9Ô9€AÝ	�r�!‰uŒu•b˜‘e”eˆn�r !™uœu¥b¨¡e¤e˜nÐ-¨vµrÑ	:Ô	:€BØ�ˆV€FØ�6Š6‰8Œ8˜˜F�|Ò#Ð#Ð#Ð#å�b�‰eŒe•R˜‘U”U�B˜q™EœEÐ"¥R¨¡U¤U­B¨q©E¬Eµ2°a±5´5Ð$9Ð:¸FÅBÑGÔG€AÝ	�r�!‰uŒu•b˜‘e”e�R ™VœVÐ$¥r¨!¡u¤u­b°©e¬eµR¸±U´UÐ&;Ð<¸fÅbÑ	IÔ	I€BØ�ˆV€FØ�6Š6‰8Œ8˜˜F�|Ò#Ð#Ð#Ð#å�b�‰eŒe•R˜‘U”U�B˜q™EœEÐ"¥R¨¡U¤U­B¨q©E¬Eµ2°a±5´5Ð$9Ð:¸FÅBÑGÔG€AÝ	�r�!‰uŒu•b˜‘e”e�R ™VœVÐ$¥r¨!¡u¤u­b°©e¬eµR¸±U´UÐ&;Ð<¸fÅbÑ	IÔ	I€BØ�ˆV€FØ�6Š6‰8Œ8˜˜F�|Ò#Ð#Ð#Ð#å�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^­b°©e¬eµR¸±U´U¨^Ð<¸fÅbÑIÔI€AÝ	�r�!‰uŒu•b˜‘e”eˆn�r !™uœu¥b¨¡e¤e˜n­r°!©u¬uµb¸±e´e¨nÐ=¸vÅrÑ	JÔ	J€BØ�ˆV€FØ�6Š6‰8Œ8˜˜F�|Ò#Ð#Ð#Ð#å�b�‰eŒe•R˜‘U”U�B˜q™EœEÐ"¥R¨¡U¤U­B¨q©E¬Eµ2°a±5´5Ð$9Ð:¸FÅBÑGÔG€AÝ	�r�!‰uŒu•b˜‘e”e�R ™UœUÐ#¥b¨¡e¤e­R°©U¬UµB°q±E´EÐ%:Ð;¸VÅRÑ	HÔ	H€BØ�ˆV€FØ�6Š6‰8Œ8˜˜F�|Ò#Ð#Ð#Ð#Ð#Ð#r   c                  óJ  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        ggdt          ¦  «        }dg}|                      ¦   «         ||fk    sJ ‚d S )Nr   r   r)   r7   )r   r   Ú	nullspace)re   ÚAnullÚ	nonpivotss      r   Útest_DDM_nullspacerÊ     s‡   € å�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^Ð,¨fµbÑ9Ô9€AÝ•"�R‘&”&�"˜Q™%œ%�Ð! 6­2Ñ.Ô.€EØ�€IØ�;Š;‰=Œ=˜U IÐ.Ò.Ð.Ð.Ð.Ð.Ð.r   c                  óÐ   — t          t          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         t          j        dt          ¦  «        k    sJ ‚d S )Nr   r   r7   rc   )r   r   Ú
particularr=   rd   s    r   Útest_DDM_particularrÍ   &  sQ   € Ý�b�‰eŒe•R˜‘U”Uˆ^Ð˜f¥bÑ)Ô)€AØ�<Š<‰>Œ>�SœY v­rÑ2Ô2Ò2Ð2Ð2Ð2Ð2Ð2r   c            	      óp  ‡ — t          g dt          ¦  «        Š ‰                      ¦   «         t          d¦  «        k    sJ ‚t          t          d¦  «        ggdt          ¦  «        Š ‰                      ¦   «         t          d¦  «        k    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Š ‰                      ¦   «         t          d¦  «        k    sJ ‚t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        ggd
t          ¦  «        Š ‰                      ¦   «         t          d¦  «        k    sJ ‚t          t          dd¦  «        t          dd¦  «        gt          dd¦  «        t          dd¦  «        ggdt          ¦  «        Š ‰                      ¦   «         t          dd¦  «        k    sJ ‚t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Š t	          t
          ˆ fd„¦  «         t          g dt          ¦  «        Š t	          t
          ˆ fd„¦  «         d S )NrY   r   r   rc   r   r   r   ry   r   rO   r   r)   é   rS   c                  ó,   •— ‰                       ¦   «         S rm   ©Údetrd   s   €r   r   ztest_DDM_det.<locals>.<lambda>B  ó   ø€  §¢¡¤€ r   ©r   r   c                  ó,   •— ‰                       ¦   «         S rm   rÑ   rd   s   €r   r   ztest_DDM_det.<locals>.<lambda>F  rÓ   r   )r   r   rÒ   r   r   r   rd   s   @r   Útest_DDM_detrÖ   +  s  ø€ åˆB��ÑÔ€AØ�5Š5‰7Œ7•b˜‘e”eÒÐÐÐõ 	�b�‰eŒeˆWˆI�v�rÑ"Ô"€AØ�5Š5‰7Œ7•b˜‘e”eÒÐÐÐõ 	�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^Ð,¨fµbÑ9Ô9€AØ�5Š5‰7Œ7•b˜‘f”fÒÐÐÐõ 	�b�‰eŒe•R˜‘U”U�B˜q™EœEÐ"¥R¨¡U¤U­B¨q©E¬Eµ2°a±5´5Ð$9½B¸q¹E¼EÅ2ÀaÁ5Ä5Í"ÈQÉ%Ì%Ð;PÐQÐSYÕ[]Ñ^Ô^€AØ�5Š5‰7Œ7•b˜‘e”eÒÐÐÐõ 	�b��A‰hŒh�˜1˜a™œÐ!¥B q¨!¡H¤H­b°°A©h¬hÐ#7Ð8¸&Å"ÑEÔE€AØ�5Š5‰7Œ7•b˜˜R‘j”jÒ Ð Ð Ð õ 	�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ
�<˜˜˜˜Ñ)Ô)Ð)õ 	ˆB��ÑÔ€AÝ
�<˜˜˜˜Ñ)Ô)Ð)Ð)Ð)r   c                  óÌ  ‡— t          t          dd¦  «        t          dd¦  «        gt          dd¦  «        t          dd¦  «        ggdt          ¦  «        Št          t          dd¦  «        t          dd¦  «        gt          dd¦  «        t          dd¦  «        ggdt          ¦  «        } ‰                     ¦   «         | k    sJ ‚t          t          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          ˆfd	„¦  «         t          t          d¦  «        ggd
t
          ¦  «        Št          t          ˆfd„¦  «         t          g dt          ¦  «        Š‰                     ¦   «         ‰k    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          ˆfd„¦  «         d S )Nr   r   r   r   r   ry   r)   r7   c                  ó,   •— ‰                       ¦   «         S rm   ©Úinvrd   s   €r   r   ztest_DDM_inv.<locals>.<lambda>O  rÓ   r   rc   c                  ó,   •— ‰                       ¦   «         S rm   rÙ   rd   s   €r   r   ztest_DDM_inv.<locals>.<lambda>R  s   ø€  !§%¢%¡'¤'€ r   rY   c                  ó,   •— ‰                       ¦   «         S rm   rÙ   rd   s   €r   r   ztest_DDM_inv.<locals>.<lambda>X  s   ø€ ¨q¯uªu©w¬w€ r   )r   r   rÚ   r   r   r   r
   r	   )ÚAinvre   s    @r   Útest_DDM_invrÞ   I  s|  ø€ Ý�b��A‰hŒh�˜1˜a™œÐ!¥B q¨!¡H¤H­b°°A©h¬hÐ#7Ð8¸&Å"ÑEÔE€AÝ•�B˜‘”�B˜q !™HœHÐ%­¨1¨a©¬µ"°R¸±)´)Ð'<Ð=¸vÅrÑJÔJ€DØ�5Š5‰7Œ7�dŠ?ˆ?ˆ?ˆ?å�b�‰eŒe•R˜‘U”Uˆ^Ð˜f¥bÑ)Ô)€AÝ
�<˜˜˜˜Ñ)Ô)Ð)å�b�‰eŒeˆWˆI�v�rÑ"Ô"€AÝ
�=˜/˜/˜/˜/Ñ*Ô*Ð*åˆB��ÑÔ€AØ�5Š5‰7Œ7�aŠ<ˆ<ˆ<ˆ<å�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^Ð,¨fµbÑ9Ô9€AÝ
Õ%    Ñ7Ô7Ð7Ð7Ð7r   c                  óÖ  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         \  }}}|t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        k    sJ ‚|t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        k    sJ ‚|g k    sJ ‚g d¢g d	¢g d
¢g d¢g} g d¢g d¢g d¢g d
¢g}g d¢g d	¢g d
¢g d¢g}d„ }t           || t          ¦  «        dt          ¦  «        } t           ||t          ¦  «        dt          ¦  «        }t           ||t          ¦  «        dt          ¦  «        }|                      ¦   «         \  }}}||k    sJ ‚||k    sJ ‚|g k    sJ ‚d S )Nr   r   r   r   r   r   ry   )r   r   r   r   )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                 ó    ‡— ˆfd„| D ¦   «         S )Nc                 ó,   •— g | ]}ˆfd „|D ¦   «         ‘ŒS )c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS r   r   )rK   ÚeÚdoms     €r   rM   z<test_DDM_lu.<locals>.<lambda>.<locals>.<listcomp>.<listcomp>e  s!   ø€ Ð 5Ð 5Ð 5¨A   Q¡¤Ð 5Ð 5Ð 5r   r   )rK   Úrowrä   s     €r   rM   z1test_DDM_lu.<locals>.<lambda>.<locals>.<listcomp>e  s.   ø€ ÐFÐFÐF¸#Ð 5Ð 5Ð 5Ð 5°Ð 5Ñ 5Ô 5ÐFÐFÐFr   r   )r   rä   s    `r   r   ztest_DDM_lu.<locals>.<lambda>e  s   ø€ ÐFÐFÐFÐFÀÐFÑFÔF€ r   )r   r   )r   r   Úlu)re   ÚLÚUÚswapsÚLexpÚUexpÚto_doms          r   Útest_DDM_lurí   [  sÑ  € Ý�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^Ð,¨fµbÑ9Ô9€AØ—$’$‘&”&�K€A€qˆ%Ø••b˜‘e”e�R ™UœU�^¥b¨¡e¤e­R°©U¬U ^Ð4°f½bÑAÔAÒAÐAÐAÐAØ••b˜‘e”e�R ™UœU�^¥b¨¡e¤e­R°©V¬V _Ð5°v½rÑBÔBÒBÐBÐBÐBØ�BŠ;ˆ;ˆ;ˆ;à	ˆˆ�|�|�| \ \ \°<°<°<Ð@€AØˆLˆL˜,˜,˜,¨¨¨°l°l°lÐC€DØˆLˆL˜,˜,˜,¨¨¨°l°l°lÐC€DØFÐF€FÝˆFˆF�1•b‰MŒM˜6¥2Ñ&Ô&€AÝˆvˆv�d�BÑÔ ­Ñ,Ô,€DÝˆvˆv�d�BÑÔ ­Ñ,Ô,€DØ—$’$‘&”&�K€A€qˆ%Ø�Š9ˆ9ˆ9ˆ9Ø�Š9ˆ9ˆ9ˆ9Ø�BŠ;ˆ;ˆ;ˆ;ˆ;ˆ;r   c                  óH  ‡‡‡‡— t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          d¦  «        gt          dd¦  «        ggdt          ¦  «        } ‰                     ‰¦  «        | k    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Š‰                     ‰¦  «        | k    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gt          d¦  «        t          d	¦  «        ggd
t          ¦  «        Št          t          d¦  «        gt          d¦  «        gt          d¦  «        ggdt          ¦  «        Š‰                     ‰¦  «        | k    sJ ‚t          t          d¦  «        gt          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          ˆˆfd„¦  «         t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          ˆˆfd„¦  «         t          t          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          d¦  «        ggdt          ¦  «        Št          t
          ˆˆfd„¦  «         t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          ˆˆfd„¦  «         t          t          d¦  «        gt          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          ˆˆfd„¦  «         d S )Nr   r   r   r   r   rS   r   r   ra   rÁ   r·   c                  ó.   •— ‰                       ‰¦  «        S rm   ©Úlu_solve©re   Úbs   €€r   r   z#test_DDM_lu_solve.<locals>.<lambda>�  ó   ø€ ¨q¯zªz¸!©}¬}€ r   c                  ó.   •— ‰                       ‰¦  «        S rm   rð   rò   s   €€r   r   z#test_DDM_lu_solve.<locals>.<lambda>†  rô   r   r7   rc   c                  ó.   •— ‰                       ‰¦  «        S rm   rð   rò   s   €€r   r   z#test_DDM_lu_solve.<locals>.<lambda>‹  s   ø€ ¨¯
ª
°1©¬€ r   c                  ó.   •— ‰                       ‰¦  «        S rm   rð   )re   Úbzs   €€r   r   z#test_DDM_lu_solve.<locals>.<lambda>�  s   ø€  !§*¢*¨R¡.¤.€ r   c                  ó.   •— ‰                       ‰¦  «        S rm   rð   )re   Úb3s   €€r   r   z#test_DDM_lu_solve.<locals>.<lambda>“  s   ø€  §¢¨B¡¤€ r   )	r   r   rñ   r   r	   ÚNotImplementedErrorr   r
   r   )r¼   re   ró   rú   rø   s    @@@@r   Útest_DDM_lu_solverü   o  sR  øøøø€ å�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^Ð,¨fµbÑ9Ô9€AÝ�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ�b�‰eŒeˆW•r˜!˜Q‘x”x�jÐ! 6­2Ñ.Ô.€AØ�:Š:�a‰=Œ=˜AÒÐÐÐõ 	�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^Ð,¨fµbÑ9Ô9€AØ�:Š:�a‰=Œ=˜AÒÐÐÐõ 	�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^­b°©e¬eµR¸±U´U¨^Ð<¸fÅbÑIÔI€AÝ�b�‰eŒeˆW•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AØ�:Š:�a‰=Œ=˜AÒÐÐÐõ 	�b�‰eŒeˆW•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ
Õ%Ð'<Ð'<Ð'<Ð'<Ð'<Ñ=Ô=Ð=õ 	�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^Ð,¨fµbÑ9Ô9€AÝ�b�‰eŒeˆW•r˜!‘u”u�gÐ ­Ñ+Ô+€AÝ
Õ%Ð'<Ð'<Ð'<Ð'<Ð'<Ñ=Ô=Ð=õ 	�b�‰eŒe•R˜‘U”Uˆ^Ð˜f¥bÑ)Ô)€AÝ�b�‰eŒeˆWˆI�v�rÑ"Ô"€AÝ
ÕÐ 5Ð 5Ð 5Ð 5Ð 5Ñ6Ô6Ð6õ 
�r�!‰uŒuˆg�˜1™œ�wÐ ­Ñ	,Ô	,€BÝ
�=Ð0Ð0Ð0Ð0Ð0Ñ1Ô1Ð1õ 
�r�!‰uŒuˆg�˜1™œ�w¥ A¡¤ Ð(¨&µ"Ñ	5Ô	5€BÝ
�<Ð/Ð/Ð/Ð/Ð/Ñ0Ô0Ð0Ð0Ð0r   c            	      óð  ‡— t          g dt          ¦  «        Š‰                     ¦   «         t          d¦  «        gk    sJ ‚t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d	¦  «        t          d
¦  «        ggdt          ¦  «        Št          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        g} ‰                     ¦   «         | k    sJ ‚t          t          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          ˆfd„¦  «         d S )NrY   r   r   r   r   r   ra   é   r•   é	   rO   iñÿÿÿiîÿÿÿr   r7   c                  ó,   •— ‰                       ¦   «         S rm   )Úcharpolyrd   s   €r   r   z#test_DDM_charpoly.<locals>.<lambda>¢  s   ø€  §¢¡¤€ r   )r   r   r  r   r   )ÚAvecre   s    @r   Útest_DDM_charpolyr  –  s)  ø€ ÝˆB��ÑÔ€AØ�:Š:‰<Œ<�B˜q™EœE˜7Ò"Ð"Ð"Ð"åÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐðð !'­ñ	,ô 	,€Aõ ˆq‰EŒE•2�c‘7”7�B˜s™GœG¥R¨¡U¤UÐ+€DØ�:Š:‰<Œ<˜4ÒÐÐÐå�b�‰eŒe•R˜‘U”Uˆ^Ð˜f¥bÑ)Ô)€AÝ
�<Ð-Ð-Ð-Ð-Ñ.Ô.Ð.Ð.Ð.r   c            	      ó\  ‡ — t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        ggd
t          ¦  «        Š ‰                      dd¦  «        t          d¦  «        k    sJ ‚‰                      dd¦  «        t          d¦  «        k    sJ ‚‰                      dd¦  «        t          d¦  «        k    sJ ‚t          t          ˆ fd„¦  «         d S )Nr   r   r   r   r   ra   rþ   r•   rÿ   rO   ry   r)   éýÿÿÿc                  ó0   •— ‰                       dd¦  «        S )Nr   )Úgetitem©Údms   €r   r   z"test_DDM_getitem.<locals>.<lambda>¯  s   ø€ ˜rŸzšz¨!¨QÑ/Ô/€ r   )r   r   r  r   r*   r  s   @r   Útest_DDM_getitemr
  ¥  s  ø€ Ý	Ý	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐðð !'­ñ
,ô 
,€Bð
 �:Š:�a˜ÑÔ�r !™uœuÒ$Ð$Ð$Ð$Ø�:Š:�a˜ÑÔ¥ 1¡¤Ò%Ð%Ð%Ð%Ø�:Š:�b˜"ÑÔ¥ A¡¤Ò&Ð&Ð&Ð&å
�:Ð/Ð/Ð/Ð/Ñ0Ô0Ð0Ð0Ð0r   c                  ó6  ‡ — t          j        dt          ¦  «        Š ‰                      ddd¦  «         ‰                      ddd¦  «         ‰                      ddd¦  «         ‰ t          j        dt          ¦  «        k    sJ ‚t          t          ˆ fd„¦  «         d S )NrO   r   r   ry   r)   r   c                  ó2   •— ‰                       ddd¦  «        S )Nr   r   )Úsetitemr  s   €r   r   z"test_DDM_setitem.<locals>.<lambda>¹  s   ø€ ˜rŸzšz¨!¨Q°Ñ2Ô2€ r   )r   r=   r   r  rP   r   r*   r  s   @r   Útest_DDM_setitemr  ²  s‘   ø€ Ý	Œ�6�2Ñ	Ô	€BØ‡J‚Jˆq�!�QÑÔÐØ‡J‚Jˆq�"�aÑÔÐØ‡J‚Jˆr�2�qÑÔÐØ•”˜�B‘”ÒÐÐÐå
�:Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ð3Ð3r   c            	      óš  — t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        ggd
t          ¦  «        } |                      t          dd¦  «        t          dd¦  «        ¦  «        | k    sJ ‚|                      t          dd¦  «        t          d¦  «        ¦  «        t          dgdggdt          ¦  «        k    sJ ‚|                      t          dd¦  «        t          d¦  «        ¦  «        t          dgdggdt          ¦  «        k    sJ ‚|                      t          dd¦  «        t          d¦  «        ¦  «        t          t          d¦  «        ggdt          ¦  «        k    sJ ‚|                      t          dd¦  «        t          d¦  «        ¦  «        t          dgdggdt          ¦  «        k    sJ ‚|                      t          d¦  «        t          d¦  «        ¦  «        t          ddgddggdt          ¦  «        k    sJ ‚|                      t          d¦  «        t          dd¦  «        ¦  «        t          g g gdt          ¦  «        k    sJ ‚|                      t          dd¦  «        t          d¦  «        ¦  «        t          g dt          ¦  «        k    sJ ‚|                      t          dd¦  «        t          dd¦  «        ¦  «        t          g dt          ¦  «        k    sJ ‚d S )Nr   r   r   r   r   ra   rþ   r•   rÿ   rO   r   ry   rS   rc   r)   r   rX   rW   rY   )r   r   Úextract_sliceÚslicer  s    r   Útest_DDM_extract_slicer  ¼  s¶  € Ý	Ý	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐðð !'­ñ
,ô 
,€Bð
 ×Ò�E ! Q™KœK­¨q°!©¬Ñ5Ô5¸Ò;Ð;Ð;Ð;Ø×Ò�E ! Q™KœK­¨r©¬Ñ3Ô3µs¸Q¸CÀ!À¸:ÀvÍrÑ7RÔ7RÒRÐRÐRÐRØ×Ò�E ! Q™KœK­¨r©¬Ñ3Ô3µs¸Q¸CÀ!À¸:ÀvÍrÑ7RÔ7RÒRÐRÐRÐRØ×Ò�E ! Q™KœK­¨r©¬Ñ3Ô3µs½RÀ¹U¼U¸G¸9ÀfÍbÑ7QÔ7QÒQÐQÐQÐQØ×Ò�E ! Q™KœK­¨r©¬Ñ3Ô3µs¸Q¸CÀ!À¸:ÀvÍrÑ7RÔ7RÒRÐRÐRÐRØ×Ò�E "™IœI¥u¨R¡y¤yÑ1Ô1µS¸1¸a¸&À1ÀaÀ&Ð9IÈ6ÕSUÑ5VÔ5VÒVÐVÐVÐVà×Ò�E !™HœH¥e¨A¨q¡k¤kÑ2Ô2µc¸2¸r¸(ÀFÍBÑ6OÔ6OÒOÐOÐOÐOØ×Ò�E ! Q™KœK­¨q©¬Ñ2Ô2µc¸"¸fÅbÑ6IÔ6IÒIÐIÐIÐIØ×Ò�E ! Q™KœK­¨q°!©¬Ñ5Ô5½¸RÀÍÑ9LÔ9LÒLÐLÐLÐLÐLÐLr   c            	      óR  ‡— t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        ggd
t          ¦  «        } t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Š|                      ddgddg¦  «        ‰k    sJ ‚|                      ddgddg¦  «        ‰k    sJ ‚|                      g g ¦  «        t          j        dt          ¦  «        k    sJ ‚|                      dgg ¦  «        t          j        dt          ¦  «        k    sJ ‚|                      g dg¦  «        t          j        dt          ¦  «        k    sJ ‚t	          t
          ˆfd„¦  «         t	          t
          ˆfd„¦  «         t	          t
          ˆfd„¦  «         t	          t
          ˆfd„¦  «         d S )Nr   r   r   r   r   ra   rþ   r•   rÿ   rO   r   r   ry   r)   rY   )r   r   rÔ   c                  ó4   •— ‰                       dgdg¦  «        S r$   ©Úextract©Údm2s   €r   r   z"test_DDM_extract.<locals>.<lambda>Ý  ó   ø€ ˜sŸ{š{¨A¨3°°Ñ4Ô4€ r   c                  ó4   •— ‰                       dgdg¦  «        S r(   r  r  s   €r   r   z"test_DDM_extract.<locals>.<lambda>Þ  r  r   c                  ó4   •— ‰                       dgdg¦  «        S )Nr  r   r  r  s   €r   r   z"test_DDM_extract.<locals>.<lambda>ß  s   ø€ ˜sŸ{š{¨B¨4°!°Ñ5Ô5€ r   c                  ó4   •— ‰                       dgdg¦  «        S )Nr   r  r  r  s   €r   r   z"test_DDM_extract.<locals>.<lambda>à  s   ø€ ˜sŸ{š{¨A¨3°°Ñ5Ô5€ r   )r   r   r  r=   r   r*   )Údm1r  s    @r   Útest_DDM_extractr  Î  sö  ø€ Ý
Ý	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐðð !'­ñ,ô ,€Cõ Ý	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆðà¥ñ%ô %€Cð �;Š;˜˜1�v  1˜vÑ&Ô&¨#Ò-Ð-Ð-Ð-Ø�;Š;˜˜A�w  Q Ñ(Ô(¨CÒ/Ð/Ð/Ð/à�;Š;�r˜2ÑÔ¥#¤)¨FµBÑ"7Ô"7Ò7Ð7Ð7Ð7Ø�;Š;˜�s˜BÑÔ¥3¤9¨VµRÑ#8Ô#8Ò8Ð8Ð8Ð8Ø�;Š;�r˜A˜3ÑÔ¥3¤9¨VµRÑ#8Ô#8Ò8Ð8Ð8Ð8å
�:Ð4Ð4Ð4Ð4Ñ5Ô5Ð5Ý
�:Ð4Ð4Ð4Ð4Ñ5Ô5Ð5Ý
�:Ð5Ð5Ð5Ð5Ñ6Ô6Ð6Ý
�:Ð5Ð5Ð5Ð5Ñ6Ô6Ð6Ð6Ð6r   c                  óJ  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gk    sJ ‚d S )Nra   r   r   r   r   )r   r   Úflatr  s    r   Útest_DDM_flatr!  ã  sƒ   € Ý	Ý	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆðà¥ñ
%ô 
%€Bð �7Š7‰9Œ9�˜A™œ¥ 1¡¤¥r¨!¡u¤u­b°©e¬eÐ4Ò4Ð4Ð4Ð4Ð4Ð4r   c                  ó:  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          j        dt          ¦  «        }|                      ¦   «         du sJ ‚|                     ¦   «         du sJ ‚d S )Nr   r   r   r7   FT)r   r   r=   Úis_zero_matrix)re   ÚAzeros     r   Útest_DDM_is_zero_matrixr%  ê  s‰   € Ý�b�‰eŒe•R˜‘U”Uˆ^�b ™eœe¥R¨¡U¤U˜^Ð,¨fµbÑ9Ô9€AÝŒI�f�bÑ!Ô!€EØ×ÒÑÔ Ð&Ð&Ð&Ð&Ø×ÒÑ!Ô! TÐ)Ð)Ð)Ð)Ð)Ð)r   c            
      óÒ  — t          t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        t          d
¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        t          d
¦  «        ggdt          ¦  «        }|                      ¦   «         du sJ ‚|                     ¦   «         du sJ ‚t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        }|                      ¦   «         du sJ ‚|                     ¦   «         du sJ ‚d S ©Nr   r   r   r   r   r   ra   rþ   r•   rÿ   r<   TF)r   r   é
   )r   r   Úis_upperr¾   s     r   Útest_DDM_is_upperr*  ñ  sš  € åÝ	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$ðð �rñ		ô 	€Aõ
 	Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$ðð �rñ		ô 	€Að
 �:Š:‰<Œ<˜4ÐÐÐÐØ�:Š:‰<Œ<˜5Ð Ð Ð Ð õ 	Ý	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐð	ð
 �rñ	ô 	€Aõ 	Ý	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜"‘v”vÐð	ð
 �rñ	ô 	€Að �:Š:‰<Œ<˜4ÐÐÐÐØ�:Š:‰<Œ<˜5Ð Ð Ð Ð Ð Ð r   c            
      ób  — t          t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        t          d
¦  «        ggdt          ¦  «                             ¦   «         } t          t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        t          d
¦  «        ggdt          ¦  «                             ¦   «         }|                      ¦   «         du sJ ‚|                     ¦   «         du sJ ‚t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «                             ¦   «         } t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «                             ¦   «         }|                      ¦   «         du sJ ‚|                     ¦   «         du sJ ‚d S r'  )r   r   rZ   Úis_lowerr¾   s     r   Útest_DDM_is_lowerr-    sÒ  € åÝ	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$ðð �rñ		ô 	÷ ’9‘;”;ð	 õ
 	Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$ðð �rñ		ô 	÷ ’9‘;”;ð	 ð
 �:Š:‰<Œ<˜4ÐÐÐÐØ�:Š:‰<Œ<˜5Ð Ð Ð Ð õ 	Ý	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐð	ð
 �rñ	ô 	÷
 ’9‘;”;ð õ 	Ý	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜"‘v”vÐð	ð
 �rñ	ô 	÷
 ’9‘;”;ð ð �:Š:‰<Œ<˜4ÐÐÐÐØ�:Š:‰<Œ<˜5Ð Ð Ð Ð Ð Ð r   N)0Úsympy.testing.pytestr   Úsympy.external.gmpyr   Úsympy.polysr   r   Úsympy.polys.matrices.ddmr   Úsympy.polys.matrices.exceptionsr   r	   r
   r   r!   r+   r0   r5   r:   r@   rD   rQ   rU   r_   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   ú<module>r3     s¦  ðØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,à Ð Ð Ð Ð Ð Ð Ð à (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð ð ð ð ð

Pð 
Pð 
Pðð ð ð.ð .ð .ð"ð "ð "ð4ð ð ðð ð ðð ð ðð ð ð"ð "ð "ð	$ð 	$ð 	$ð*ð *ð *ð-ð -ð -ð( ð  ð  ð)ð )ð )ð(2ð (2ð (2ðVOð Oð Oð Yð Yð Yð /ð /ð /ð
$ð $ð $ð>/ð /ð /ð3ð 3ð 3ð
*ð *ð *ð<8ð 8ð 8ð$ð ð ð($1ð $1ð $1ðN/ð /ð /ð
1ð 
1ð 
1ð4ð 4ð 4ðMð Mð Mð$7ð 7ð 7ð*5ð 5ð 5ð*ð *ð *ð!ð !ð !ð@!ð !ð !ð !ð !r   