§
    ¬³Ùg9¿  ã                   ó¨  — d dl mZ d dlmZ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 d dlmZmZmZmZmZmZmZ d dlmZ d dlmZ d dl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„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5d„ Z6d „ Z7d!„ Z8d"„ Z9d#„ Z:d$„ Z;d%„ Z<d&„ Z=d'„ Z>d(„ Z?d)„ Z@d*„ ZAd+„ ZBd,„ ZCd-„ ZDd.„ ZEd/„ ZFd0„ ZGd1„ ZHd2„ ZId3„ ZJd4„ ZKd5„ ZLd6„ ZMd7„ ZNd8„ ZOd9„ ZPd:„ ZQd;„ ZRd<„ ZSd=„ ZTd>„ ZUd?„ ZVd@„ ZWdA„ ZXdB„ ZYdC„ ZZdD„ Z[dE„ Z\dF„ Z]dG„ Z^dH„ Z_dI„ Z`dJ„ ZadK„ ZbdL„ ZcdM„ ZddN„ ZedO„ ZfdP„ ZgdQ„ ZhdR„ ZidS„ ZjdT„ ZkdU„ ZldV„ ZmdW„ ZndX„ ZodY„ ZpdZ„ Zqd[„ Zrd\„ Zsd]„ Ztd^S )_é    )ÚGROUND_TYPES)ÚIntegerÚRationalÚSÚsqrtÚMatrixÚsymbols)ÚFFÚZZÚQQÚQQ_IÚEXRAW)ÚDomainMatrixÚDomainScalarÚDM)ÚDMBadInputErrorÚDMDomainErrorÚDMShapeErrorÚDMFormatErrorÚDMNotAFieldÚDMNonSquareMatrixErrorÚDMNonInvertibleMatrixError)ÚDDM)ÚSDM)Úraisesc                  óŠ  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          ddgddggt          ¦  «        }t          dk    r|j        | k    sJ ‚n|j        |                      ¦   «         k    sJ ‚|j        dk    sJ ‚|j        t          k    sJ ‚d S )Né   é   é   é   ©r   r   Úflint)r   r   r   r   ÚrepÚto_dfmÚshapeÚdomain)ÚddmÚAs     úb/granary/edev/quantum/lib/python3.11/site-packages/sympy/polys/matrices/tests/test_domainmatrix.pyÚtest_DMr*      s±   € Ý
•�1‘”•r˜!‘u”uˆ~¥ 1¡¤¥r¨!¡u¤u˜~Ð.°½Ñ
;Ô
;€CÝ
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AÝ�wÒÐØŒu˜Š|ˆ|ˆ|ˆ|ˆ|àŒu˜Ÿ
š
™œÒ$Ð$Ð$Ð$ØŒ7�fÒÐÐÐØŒ8•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k    r|j        ‰k    sJ ‚n|j        ‰                     ¦   «         k    sJ ‚|j        dk    sJ ‚|j        t           k    sJ ‚t          | dt           ¦  «        }|j        ‰k    sJ ‚|j        dk    sJ ‚|j        t           k    sJ ‚t          t          ˆfd„¦  «         t          t          ˆfd	„¦  «         t          t          d
„ ¦  «         d‰fd‰ffD ]t\  }}|dk    rt          dk    r|                     ¦   «         }t          ‰dt           |¬¦  «        }|j        |k    sJ ‚t          | dt           |¬¦  «        }|j        |k    sJ ‚Œut          t          ˆfd„¦  «         t          t          d„ ¦  «         d S )Nr   r   r   r    ©r   r   r!   r"   c                  ó0   •— t          ‰ dt          ¦  «        S ©Nr!   ©r   r   )r'   s   €r)   ú<lambda>z(test_DomainMatrix_init.<locals>.<lambda>/   ó   ø€ �l¨3°½Ñ;Ô;€ r+   c                  ó0   •— t          ‰ dt          ¦  «        S r/   r0   )Úsdms   €r)   r1   z(test_DomainMatrix_init.<locals>.<lambda>0   r2   r+   c                  óL   — t          t          dgg¦  «        dt          ¦  «        S )Nr   ©r   r   )r   r   r   © r+   r)   r1   z(test_DomainMatrix_init.<locals>.<lambda>1   s   € �l­6°A°3°%©=¬=¸&Å"ÑEÔE€ r+   ÚsparseÚdense©Úfmtc                  ó4   •— t          ‰ dt          d¬¦  «        S )Nr!   Úinvalidr:   r0   )Úlols   €r)   r1   z(test_DomainMatrix_init.<locals>.<lambda>;   s   ø€ �|¨C°½ÀÐKÑKÔK€ r+   c                  óh   — t          t          d¦  «        t          d¦  «        ggdt          ¦  «        S )Nr   r   r!   r0   r7   r+   r)   r1   z(test_DomainMatrix_init.<locals>.<lambda>=   s%   € ¥Lµ2°a±5´5½"¸Q¹%¼%°.Ð1AÀ6Í2Ñ$NÔ$N€ r+   )r   r   r   r   r   r#   r$   r%   r&   r   Ú	TypeErrorÚ
ValueErrorr   )Údodr(   r;   r#   r'   r>   r4   s       @@@r)   Útest_DomainMatrix_initrC      s:  øøø€ Ýˆq‰EŒE•2�a‘5”5ˆ>�B˜q™EœE¥2 a¡5¤5˜>Ð
*€CÝ�Q‘%”%�2˜a™5œ5Ð!Ð!­¨A©¬µ"°Q±%´%Ð&8Ð&8Ð
9Ð
9€CÝ
ˆc�6�2Ñ
Ô
€CÝ
ˆc�6�2Ñ
Ô
€Cå�S˜&¥"Ñ%Ô%€AÝ�wÒÐØŒu˜Š|ˆ|ˆ|ˆ|ˆ|àŒu˜Ÿ
š
™œÒ$Ð$Ð$Ð$ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>å�S˜&¥"Ñ%Ô%€AØŒ5�CŠ<ˆ<ˆ<ˆ<ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>å
�9Ð;Ð;Ð;Ð;Ñ<Ô<Ð<Ý
�9Ð;Ð;Ð;Ð;Ñ<Ô<Ð<Ý
�9ÐEÐEÑFÔFÐFà �_ w° nÐ5ð ð ‰ˆˆSØ�'Š>ˆ>�l¨gÒ5Ð5Ø—*’*‘,”,ˆCÝ˜˜f¥b¨cÐ2Ñ2Ô2ˆØŒu˜Š|ˆ|ˆ|ˆ|Ý˜˜f¥b¨cÐ2Ñ2Ô2ˆØŒu˜Š|ˆ|ˆ|ˆ|ˆ|å
�:ÐKÐKÐKÐKÑLÔLÐLå
�?ÐNÐNÑOÔOÐOÐOÐOr+   c                  óÈ  ‡— t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          j        | ¦  «        Š‰j        | k    sJ ‚‰j        dk    sJ ‚‰j        t          k    sJ ‚t          t          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœdœdt          ¦  «        }t          j        |¦  «        Š‰j        |k    sJ ‚‰j        dk    sJ ‚‰j        t          k    sJ ‚t          t          d¦  «        ggdt          ¦  «        Št          t          ˆfd„¦  «         d S )	Nr   r   r   r    r!   r-   r6   c                  ó,   •— t          j        ‰ ¦  «        S ©N)r   Úfrom_rep©r(   s   €r)   r1   z,test_DomainMatrix_from_rep.<locals>.<lambda>O   s   ø€ �lÔ3°AÑ6Ô6€ r+   )
r   r   r   rG   r#   r%   r&   r   r   r@   )r'   r4   r(   s     @r)   Útest_DomainMatrix_from_reprI   @   s7  ø€ Ý
•�1‘”•r˜!‘u”uˆ~¥ 1¡¤¥r¨!¡u¤u˜~Ð.°½Ñ
;Ô
;€CÝÔ˜cÑ"Ô"€AàŒ5�CŠ<ˆ<ˆ<ˆ<ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>å
•b˜‘e”e�r !™uœuÐ%Ð%­R°©U¬Uµb¸±e´eÐ*<Ð*<Ð=Ð=¸vÅrÑ
JÔ
J€CÝÔ˜cÑ"Ô"€AØŒ5�CŠ<ˆ<ˆ<ˆ<ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>å•r˜!‘u”u�g�Y ­Ñ+Ô+€AÝ
�9Ð6Ð6Ð6Ð6Ñ7Ô7Ð7Ð7Ð7r+   c                  óB  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          j        ddgddggt          ¦  «        }t          dk    r|j        | k    sJ ‚n|j        |                      ¦   «         k    sJ ‚|j        dk    sJ ‚|j        t          k    sJ ‚t          d¦  «        }t           |d¦  «         |d¦  «        g |d¦  «         |d¦  «        ggd|¦  «        } t          j        ddgddgg|¦  «        }|j        | k    sJ ‚|j        dk    sJ ‚|j        |k    sJ ‚t          t          dd¦  «        t          dd¦  «        gt          dd¦  «        t          dd¦  «        ggdt          ¦  «        } t          j        d	d
gddggt          ¦  «        }t          dk    r|j        | k    sJ ‚n|j        |                      ¦   «         k    sJ ‚|j        dk    sJ ‚|j        t          k    sJ ‚d S )Nr   r   r   r    r!   r"   é   é   ©r   r   ©r   r   ©r   r    )rL   r   )r   r   r   Ú	from_listr   r#   r$   r%   r&   r
   r   )r'   r(   Údoms      r)   Útest_DomainMatrix_from_listrR   R   s	  € Ý
•�1‘”•r˜!‘u”uˆ~¥ 1¡¤¥r¨!¡u¤u˜~Ð.°½Ñ
;Ô
;€CÝÔ  A ¨¨A¨Ð/µÑ4Ô4€AÝ�wÒÐØŒu˜Š|ˆ|ˆ|ˆ|ˆ|àŒu˜Ÿ
š
™œÒ$Ð$Ð$Ð$ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>å
ˆQ‰%Œ%€CÝ
���A‘”˜˜˜A™œÐ # # a¡&¤&¨#¨#¨a©&¬&Ð!1Ð2°F¸CÑ
@Ô
@€CÝÔ  A ¨¨A¨Ð/°Ñ5Ô5€AàŒ5�CŠ<ˆ<ˆ<ˆ<ØŒ7�fÒÐÐÐØŒ8�sŠ?ˆ?ˆ?ˆ?å
•�1�a‘”�"˜Q ™(œ(Ð#¥b¨¨A¡h¤hµ°1°a±´Ð%9Ð:¸FÅBÑ
GÔ
G€CÝÔ ¨Ð 0°6¸6Ð2BÐCÅRÑHÔH€AÝ�wÒÐØŒu˜Š|ˆ|ˆ|ˆ|ˆ|àŒu˜Ÿ
š
™œÒ$Ð$Ð$Ð$ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r+   c            
      ó  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          j        ddddgddgg¦  «        }t          dk    r|j        | k    sJ ‚n|j        |                      ¦   «         k    sJ ‚|j        dk    sJ ‚|j        t          k    sJ ‚t          j
        t          d¦  «        ¦  «        }t          |                     dt          d¦  «        z   ¦  «        |                     dt          d¦  «        z   ¦  «        g|                     dt          d¦  «        z   ¦  «        |                     dt          d¦  «        z   ¦  «        ggd|¦  «        } t          j        dddt          d¦  «        z   dt          d¦  «        z   gdt          d¦  «        z   dt          d¦  «        z   ggd¬¦  «        }|j        | k    sJ ‚|j        dk    sJ ‚|j        |k    sJ ‚d S )	Nr   r   r   r    r!   r"   T©Ú	extension)r   r   r   Úfrom_list_sympyr   r#   r$   r%   r&   r   Úalgebraic_fieldr   Úconvert)r'   r(   ÚKs      r)   Ú!test_DomainMatrix_from_list_sympyrZ   n   sÛ  € Ý
•�1‘”•r˜!‘u”uˆ~¥ 1¡¤¥r¨!¡u¤u˜~Ð.°½Ñ
;Ô
;€CÝÔ$ Q¨¨Q°¨F°Q¸°FÐ+;Ñ<Ô<€AÝ�wÒÐØŒu˜Š|ˆ|ˆ|ˆ|ˆ|àŒu˜Ÿ
š
™œÒ$Ð$Ð$Ð$ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>å
Ô�4 ™7œ7Ñ#Ô#€AÝ
Ø
�)Š)�A�˜Q™œ‘KÑ
 Ô
  !§)¢)¨Aµ°Q±´©KÑ"8Ô"8Ð	9Ø
�)Š)�A�˜Q™œ‘KÑ
 Ô
  !§)¢)¨Aµ°Q±´©KÑ"8Ô"8Ð	9ð	;àØ	ñ	ô €Cõ 	Ô$Ø	ˆ1�•D˜‘G”G‘˜Q¥ a¡¤™[Ð)¨Aµ°Q±´©K¸½TÀ!¹W¼W¹Ð+EÐFØð	ñ 	ô 	€Að Œ5�CŠ<ˆ<ˆ<ˆ<ØŒ7�fÒÐÐÐØŒ8�qŠ=ˆ=ˆ=ˆ=ˆ=ˆ=r+   c                  óÀ  ‡— t          dt          dd¦  «        idt          dd¦  «        idœdt          ¦  «        } dt          dd¦  «        idt          dd¦  «        idœ}t          j        dd|¦  «        }|j        | k    sJ ‚|j        dk    sJ ‚|j        t          k    sJ ‚t          j        Št          t          ˆfd„¦  «         t          t          ˆfd„¦  «         d S )	Nr   r   r   r   r-   r!   c            
      óB   •—  ‰ ddddt          dd¦  «        ii¦  «        S )Nr   r   r   r   ©r   ©Úfdss   €r)   r1   z3test_DomainMatrix_from_dict_sympy.<locals>.<lambda>�   ó'   ø€  C C¨¨1¨q°1µh¸qÀ!±n´nÐ2EÐ.FÑ$GÔ$G€ r+   c            
      óB   •—  ‰ ddddt          dd¦  «        ii¦  «        S )Nr   r   r   r   r]   r^   s   €r)   r1   z3test_DomainMatrix_from_dict_sympy.<locals>.<lambda>‘   r`   r+   )
r   r   r   r   Úfrom_dict_sympyr#   r%   r&   r   r   )r4   Ú
sympy_dictr(   r_   s      @r)   Ú!test_DomainMatrix_from_dict_sympyrd   ‡   sâ   ø€ Ý
�1•b˜˜A‘h”h�- Q­¨1¨a©¬ MÐ2Ð2°F½BÑ
?Ô
?€CØ� ! Q™œÐ(¨aµ¸!¸Q±´Ð-@ÐAÐA€JÝÔ$ Q¨¨:Ñ6Ô6€AØŒ5�CŠ<ˆ<ˆ<ˆ<ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>å
Ô
&€CÝ
�?ÐGÐGÐGÐGÑHÔHÐHÝ
�?ÐGÐGÐGÐGÑHÔHÐHÐHÐHr+   c            
      ó  — t          t          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœdœdt          ¦  «        } t          j        t	          ddgddgg¦  «        ¦  «        }|j        | k    sJ ‚|j        dk    sJ ‚|j        t          k    sJ ‚t          j	        t          d¦  «        ¦  «        }t          |                     dt          d¦  «        z   ¦  «        |                     dt          d¦  «        z   ¦  «        dœ|                     dt          d¦  «        z   ¦  «        |                     dt          d¦  «        z   ¦  «        dœdœd|¦  «        } t          j        t	          dt          d¦  «        z   dt          d¦  «        z   gdt          d¦  «        z   dt          d¦  «        z   gg¦  «        d¬¦  «        }|j        | k    sJ ‚|j        dk    sJ ‚|j        |k    sJ ‚t          j        t	          t          dd¦  «        t          dd¦  «        gt          d	d¦  «        t          d	d¦  «        gg¦  «        d
¬¦  «        }t          t          dd¦  «        t          dd¦  «        gt          d	d¦  «        t          d	d¦  «        ggdt          ¦  «        }t          dk    r|j        |k    sJ ‚n|j        |                     ¦   «         k    sJ ‚|j        dk    sJ ‚|j        t          k    sJ ‚d S )Nr   r   r-   r   r    r!   TrT   r   r9   r:   r"   )r   r   r   Úfrom_Matrixr   r#   r%   r&   r   rW   r   rX   r   r   r$   )r4   r(   rY   r'   s       r)   Útest_DomainMatrix_from_Matrixrg   ”   sº  € Ý
•b˜‘e”e¥ 1¡¤Ð&Ð&­r°!©u¬u½¸A¹¼Ð+?Ð+?Ð@Ð@À&Í"Ñ
MÔ
M€CÝÔ ¥¨!¨Q¨°!°Q°Ð(8Ñ!9Ô!9Ñ:Ô:€AØŒ5�CŠ<ˆ<ˆ<ˆ<ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>å
Ô�4 ™7œ7Ñ#Ô#€AÝ
Ø—	’	˜!�d 1™gœg™+Ñ&Ô&¨1¯9ª9°Q½¸a¹¼±[Ñ+AÔ+AÐBÐBØ—	’	˜!�d 1™gœg™+Ñ&Ô&¨1¯9ª9°Q½¸a¹¼±[Ñ+AÔ+AÐBÐBð	Dð 	DàØ	ñ	ô €Cõ 	Ô Ý�•T˜!‘W”W‘˜a¥$ q¡'¤'™kÐ*¨Qµ°a±´©[¸!½dÀ1¹g¼g¹+Ð,FÐGÑHÔHØð	ñ 	ô 	€Að Œ5�CŠ<ˆ<ˆ<ˆ<ØŒ7�fÒÐÐÐØŒ8�qŠ=ˆ=ˆ=ˆ=åÔ ¥­"¨Q°©(¬(µB°q¸!±H´HÐ)=ÅÀ1ÀaÁÄÍ"ÈQÐPQÉ(Ì(Ð?SÐ(TÑ!UÔ!UÐ[bÐcÑcÔc€AÝ
•�1�a‘”�"˜Q ™(œ(Ð#¥b¨¨A¡h¤hµ°1°a±´Ð%9Ð:¸FÅBÑ
GÔ
G€Cå�wÒÐØŒu˜Š|ˆ|ˆ|ˆ|ˆ|àŒu˜Ÿ
š
™œÒ$Ð$Ð$Ð$ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r+   c                  óî  — 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 ‚t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gg}| |k    sJ ‚d S ©Nr   r   r   r    r!   r0   ©r(   ÚBÚCs      r)   Útest_DomainMatrix_eqrm   ´   sÃ   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�Š6ˆ6ˆ6ˆ6Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�Š6ˆ6ˆ6ˆ6Ý
ˆQ‰%Œ%•�A‘”ˆ�"˜Q™%œ%¥ A¡¤˜Ð(€AØ�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r+   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          ¦  «        }t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }t          t          d¦  «        ggdt          ¦  «        }|                      |¦  «        du sJ ‚|                      |¦  «        du sJ ‚|                      |¦  «        du sJ ‚d S )	Nr   r   r   r    r!   r6   TF)r   r   r   Úunify_eq)r(   ÚB1ÚB2ÚB3s       r)   Útest_DomainMatrix_unify_eqrs   ½   s  € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ	�˜1™œ�w�i ­Ñ	,Ô	,€BØ�:Š:�b‰>Œ>˜TÐ!Ð!Ð!Ð!Ø�:Š:�b‰>Œ>˜UÐ"Ð"Ð"Ð"Ø�:Š:�b‰>Œ>˜UÐ"Ð"Ð"Ð"Ð"Ð"r+   c            	      óÀ  — t          j        g d¢¦  «        \  } }|t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        gk    sJ ‚| t          k    sJ ‚t          j        dddt          dd¦  «        g¦  «        \  } }|t	          d¦  «        t	          d¦  «        t	          d¦  «        t	          dd¦  «        gk    sJ ‚| t          k    sJ ‚d S )N)r   r   r   r    r   r   r   r    )r   Ú
get_domainr   r   r   )rY   Úitemss     r)   Útest_DomainMatrix_get_domainrw   Ç   sÃ   € ÝÔ& | | |Ñ4Ô4�H€A€uØ•R˜‘U”U�B˜q™EœE¥2 a¡5¤5­"¨Q©%¬%Ð0Ò0Ð0Ð0Ð0Ø•Š7ˆ7ˆ7ˆ7åÔ&¨¨1¨aµ¸!¸Q±´Ð'@ÑAÔA�H€A€uØ•R˜‘U”U�B˜q™EœE¥2 a¡5¤5­"¨Q°©(¬(Ð3Ò3Ð3Ð3Ð3Ø•Š7ˆ7ˆ7ˆ7ˆ7ˆ7r+   c                  ó†  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      t          ¦  «        }|t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        k    sJ ‚d S ri   )r   r   Ú
convert_tor   ©r(   ÚAqs     r)   Útest_DomainMatrix_convert_tor|   Ñ   s‘   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ	
�Š•bÑ	Ô	€BØ•¥ 1¡¤¥r¨!¡u¤u˜~µ°1±´µr¸!±u´u¨~Ð>ÀÍÑKÔKÒKÐKÐKÐKÐKÐKr+   c                  ó‚  — ddgddgg} t          | t          ¦  «                             ¦   «         t          | t          ¦  «        k    sJ ‚t          | t          ¦  «                             d¬¦  «        t          | t          ¦  «        k    sJ ‚t          | t          ¦  «                             d¬¦  «        t          | t          ¦  «        k    sJ ‚t	          d¦  «        }d|g|dz  |dz  gg}t          |t          |         ¦  «                             d¬¦  «        t          |t          j        |¦  «        ¦  «        k    sJ ‚d S )Nr   r   r   r   T)ÚfieldÚx)r   r   Úchoose_domainr   r	   Ú
frac_field)r(   r   rk   s      r)   Útest_DomainMatrix_choose_domainr‚   ×   s  € Ø
ˆQˆ�!�Q�Ð€AÝˆa•‰9Œ9×"Ò"Ñ$Ô$­¨1­b©	¬	Ò1Ð1Ð1Ð1Ýˆa•‰9Œ9×"Ò"¨Ð"Ñ.Ô.µ"°Q½±)´)Ò;Ð;Ð;Ð;Ýˆa•‰9Œ9×"Ò"¨Ð"Ñ.Ô.µ"°Q½±)´)Ò;Ð;Ð;Ð;å�‰Œ€AØ
ˆQˆ�!�Q‘$˜˜1™�Ð€AÝˆa•�A”‰<Œ<×%Ò%¨DÐ%Ñ1Ô1µR¸½2¼=ÈÑ;KÔ;KÑ5LÔ5LÒLÐLÐLÐLÐLÐLr+   c                  ó  — t          ddgddggt          ¦  «        } | j                             ¦   «         }| j                             ¦   «         }| ||fD ]²}|                     ¦   «         \  }}|                     |||j        ¦  «        |k    sJ ‚d„ |D ¦   «         }|                     ||t          ¦  «        | 	                    t          ¦  «        k    sJ ‚d„ |D ¦   «         }|                     |||j        ¦  «        d|z  k    sJ ‚Œ³d S )Nr   r   r   r   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r7   ©r   ©Ú.0Úes     r)   ú
<listcomp>z0test_DomainMatrix_to_flat_nz.<locals>.<listcomp>é   s   € Ð'Ð'Ð'˜A•"�Q‘%”%Ð'Ð'Ð'r+   c                 ó   — g | ]}d |z  ‘ŒS )r   r7   r†   s     r)   r‰   z0test_DomainMatrix_to_flat_nz.<locals>.<listcomp>ë   s   € Ð%Ð%Ð%˜!�!�A‘#Ð%Ð%Ð%r+   )
r   r   r#   Úto_ddmÚto_sdmÚ
to_flat_nzÚfrom_flat_nzr&   r   ry   )ÚAdmÚAddmÚAsdmr(   ÚelemsÚdataÚelemsqÚelems2s           r)   Útest_DomainMatrix_to_flat_nzr–   â   s  € Ý
ˆq�!ˆf�q˜!�fÐ�rÑ
"Ô
"€CØŒ7�>Š>ÑÔ€DØŒ7�>Š>ÑÔ€DØ�4˜Ðð =ð =ˆØ—l’l‘n”n‰ˆˆtØ�~Š~˜e T¨1¬8Ñ4Ô4¸Ò9Ð9Ð9Ð9Ø'Ð' Ð'Ñ'Ô'ˆØ�~Š~˜f d­BÑ/Ô/°1·<²<ÅÑ3CÔ3CÒCÐCÐCÐCØ%Ð%˜uÐ%Ñ%Ô%ˆØ�~Š~˜f d¨A¬HÑ5Ô5¸¸1¹Ò<Ð<Ð<Ð<Ð<ð=ð =r+   c                  ó
  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         |                      t          ¦  «        k    sJ ‚d S ri   )r   r   Úto_sympyry   r   rH   s    r)   Útest_DomainMatrix_to_sympyr™   ï   sc   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�:Š:‰<Œ<˜1Ÿ<š<­Ñ.Ô.Ò.Ð.Ð.Ð.Ð.Ð.r+   c                  óz  — 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 ‚d S ri   )r   r   Úto_fieldr   rz   s     r)   Útest_DomainMatrix_to_fieldrœ   ô   s�   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ	
�Š‰Œ€BØ•¥ 1¡¤¥r¨!¡u¤u˜~µ°1±´µr¸!±u´u¨~Ð>ÀÍÑKÔKÒKÐKÐKÐKÐKÐKr+   c                  óú   — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         }|j        dddœdddœdœk    sJ ‚d S )Nr   r   r   r    r!   r-   )r   r   Ú	to_sparser#   )r(   ÚA_sparses     r)   Útest_DomainMatrix_to_sparser    ú   sr   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�{Š{‰}Œ}€HØŒ< 1¨˜|˜|°A¸!°°Ð=Ð=Ò=Ð=Ð=Ð=Ð=Ð=r+   c                  ó  — t          dddœdddœdœdt          ¦  «        } |                      ¦   «         }t          ddgddggdt          ¦  «        }t          dk    r|j        |k    sJ ‚d S |j        |                     ¦   «         k    sJ ‚d S )Nr   r   r-   r   r    r!   r"   )r   r   Úto_denser   r   r#   r$   )r(   ÚA_denser'   s      r)   Útest_DomainMatrix_to_denser¤      s—   € Ý˜Q 1˜˜¨a°A¨,¨,Ð7Ð7¸ÅÑDÔD€AØ�jŠj‰lŒl€GÝ
��1ˆv˜˜1�vÐ ­Ñ
+Ô
+€CÝ�wÒÐØŒ{˜cÒ!Ð!Ð!Ð!Ð!Ð!àŒ{˜cŸjšj™lœlÒ*Ð*Ð*Ð*Ð*Ð*r+   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          ¦  «        }|                      | ¦  «        | | fk    sJ ‚|                      |¦  «        ||fk    sJ ‚|                     | ¦  «        ||fk    sJ ‚|                     |¦  «        ||fk    sJ ‚t          dt          d¦  «        idt          d¦  «        idœdt          ¦  «        Št          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Š‰                     ‰¦  «        ‰‰fk    sJ ‚‰                     ‰¦  «        ‰‰fk    sJ ‚‰                     ‰d¬	¦  «        \  }}|j        t          ddgddggdt          ¦  «                             ¦   «         k    sJ ‚|j        t          ddgddggdt          ¦  «                             ¦   «         k    sJ ‚‰                     ‰d
¬	¦  «        \  }}|j        t          ddiddidœdt          ¦  «        k    sJ ‚|j        t          dddœdddœdœdt          ¦  «        k    sJ ‚t          t          ˆˆfd„¦  «         d S )Nr   r   r   r    r!   r   r-   r9   r:   r8   c                  ó2   •— ‰                      ‰ d¬¦  «        S )Nr=   r:   )Úunify©ÚAdÚAss   €€r)   r1   z)test_DomainMatrix_unify.<locals>.<lambda>   s   ø€ ˜rŸxšx¨°	˜xÑ:Ô:€ r+   )
r   r   r   r§   r#   r   Úto_dfm_or_ddmr   r   rA   )ÚAzr{   ÚBsÚBdr©   rª   s       @@r)   Útest_DomainMatrix_unifyr¯   
  s³  øø€ Ý	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BØ�8Š8�B‰<Œ<˜B ˜8Ò#Ð#Ð#Ð#Ø�8Š8�B‰<Œ<˜B ˜8Ò#Ð#Ð#Ð#Ø�8Š8�B‰<Œ<˜B ˜8Ò#Ð#Ð#Ð#Ø�8Š8�B‰<Œ<˜B ˜8Ò#Ð#Ð#Ð#å	˜1�b ™eœe˜*¨­2¨a©5¬5¨	Ð2Ð2°F½BÑ	?Ô	?€BÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€Bà�8Š8�B‰<Œ<˜B ˜8Ò#Ð#Ð#Ð#Ø�8Š8�B‰<Œ<˜B ˜8Ò#Ð#Ð#Ð#à�XŠX�b˜gˆXÑ&Ô&�F€BˆØŒ6•S˜1˜a˜& 1 a &Ð)¨6µ2Ñ6Ô6×DÒDÑFÔFÒFÐFÐFÐFØŒ6•S˜1˜a˜& ! Q ˜¨&µ"Ñ5Ô5×CÒCÑEÔEÒEÐEÐEÐEà�XŠX�b˜hˆXÑ'Ô'�F€BˆØŒ6•S˜a ˜V¨¨A¨Ð/Ð/°½Ñ<Ô<Ò<Ð<Ð<Ð<ØŒ6•S  q˜\˜\°!¸¨l¨lÐ;Ð;¸VÅRÑHÔHÒHÐHÐHÐHå
�:Ð:Ð:Ð:Ð:Ð:Ñ;Ô;Ð;Ð;Ð;r+   c                  óX  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          ddgddgg¦  «        }|                      ¦   «         |k    sJ ‚|                      ¦   «                              ¦   «         |k    sJ ‚|                      t          ¦  «                             ¦   «         |k    sJ ‚|                      t          j        t          d¦  «        ¦  «        ¦  «                             ¦   «         |k    sJ ‚d S ri   )	r   r   r   Ú	to_Matrixrž   ry   r   rW   r   )r(   ÚA_Matrixs     r)   Útest_DomainMatrix_to_Matrixr³   #  sù   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ˜˜1�v  1˜vÐ&Ñ'Ô'€HØ�;Š;‰=Œ=˜HÒ$Ð$Ð$Ð$Ø�;Š;‰=Œ=×"Ò"Ñ$Ô$¨Ò0Ð0Ð0Ð0Ø�<Š<�ÑÔ×%Ò%Ñ'Ô'¨8Ò3Ð3Ð3Ð3Ø�<Š<�Ô*­4°©7¬7Ñ3Ô3Ñ4Ô4×>Ò>Ñ@Ô@ÀHÒLÐLÐLÐLÐLÐLr+   c                  óN  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggk    sJ ‚d S ri   )r   r   Úto_listrH   s    r)   Útest_DomainMatrix_to_listr¶   ,  s|   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�9Š9‰;Œ;�B˜q™EœE¥2 a¡5¤5˜>­B¨q©E¬Eµ2°a±5´5¨>Ð:Ò:Ð:Ð:Ð:Ð:Ð:r+   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 ri   )r   r   Úto_list_flatrH   s    r)   Útest_DomainMatrix_to_list_flatr¹   1  sz   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�>Š>ÑÔ¥ 1¡¤¥r¨!¡u¤u­b°©e¬eµR¸±U´UÐ;Ò;Ð;Ð;Ð;Ð;Ð;r+   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 ri   )r   r   ÚflatrH   s    r)   Útest_DomainMatrix_flatr¼   6  sx   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�6Š6‰8Œ8�˜1™œ�r !™uœu¥b¨¡e¤e­R°©U¬UÐ3Ò3Ð3Ð3Ð3Ð3Ð3r+   c                  ó˜  — t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        g} t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt           ¦  «        }t          j        | dt           ¦  «        |k    sJ ‚t          j        | dt           ¦  «        |j                             ¦   «         k    sJ ‚t          j        | dt           ¦  «        |j                             ¦   «         k    sJ ‚||                     |                     ¦   «         |j	        |j
        ¦  «        k    sJ ‚t          t          t          j        | dt           ¦  «         t          t          t          j        | dt           ¦  «         t          t          t          j        | dt           ¦  «         d S )Nr   r   r   r    r!   ©r   r   )r   r   Úfrom_list_flatr   r#   r‹   r   rŒ   r¸   r%   r&   r   r   )Únumsr(   s     r)   Ú test_DomainMatrix_from_list_flatrÁ   ;  sT  € Ýˆq‰EŒE•2�a‘5”5�"˜Q™%œ%¥ A¡¤Ð'€DÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AåÔ& t¨VµRÑ8Ô8¸AÒ=Ð=Ð=Ð=ÝÔ˜d F­BÑ/Ô/°1´5·<²<±>´>ÒAÐAÐAÐAÝÔ˜d F­BÑ/Ô/°1´5·<²<±>´>ÒAÐAÐAÐAà�× Ò  §¢Ñ!1Ô!1°1´7¸A¼HÑEÔEÒEÐEÐEÐEå
�?�LÔ7¸¸vÅrÑJÔJÐJÝ
�?�CÔ.°°f½bÑAÔAÐAÝ
�?�CÔ.°°f½bÑAÔAÐAÐAÐAr+   c                  ój  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         t          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœdœk    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         dt          d¦  «        idt          d¦  «        idœk    sJ ‚d S )Nr   r   r   r    r!   r-   r   )r   r   Úto_dodrH   s    r)   Útest_DomainMatrix_to_dodrÄ   J  sò   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�8Š8‰:Œ:¥ A¡¤­"¨Q©%¬%Ð0Ð0½¸1¹¼ÅÀAÁÄÐ5GÐ5GÐHÐHÒHÐHÐHÐHÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�8Š8‰:Œ:˜a¥ A¡¤˜Z¨Qµ°1±´¨JÐ7Ð7Ò7Ð7Ð7Ð7Ð7Ð7r+   c                  óÈ  — t          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœdœ} t          ddgddggt           ¦  «        }t          j        | dt           ¦  «        |                     ¦   «         k    sJ ‚|                     | ¦  «        |k    sJ ‚|                     | t          ¦  «        |                     t          ¦  «        k    sJ ‚d S )Nr   r   r-   r   r    r!   )r   r   r   Úfrom_dodrž   Úfrom_dod_liker   ry   ©rv   r(   s     r)   Útest_DomainMatrix_from_dodrÉ   Q  sÉ   € Ý�q‘E”E�R ™UœUÐ#Ð#­2¨a©5¬5µB°q±E´EÐ(:Ð(:Ð;Ð;€EÝ
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AÝÔ  ¨µÑ3Ô3°q·{²{±}´}ÒDÐDÐDÐDØ�?Š?˜5Ñ!Ô! QÒ&Ð&Ð&Ð&Ø�?Š?˜5¥"Ñ%Ô%¨¯ªµbÑ)9Ô)9Ò9Ð9Ð9Ð9Ð9Ð9r+   c                  óÒ  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        dœk    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          d¦  «        t          d¦  «        dœ}|                      ¦   «         |k    sJ ‚|                      ¦   «                              ¦   «         |k    sJ ‚|                      ¦   «                              ¦   «         |k    sJ ‚| j                             ¦   «                              ¦   «         |k    sJ ‚| j                             ¦   «                              ¦   «         |k    sJ ‚d S )	Nr   r   r   r    r!   )©r   r   r-   ©r   r   r6   r   ©rË   r6   )r   r   Úto_dokr¢   rž   r#   r‹   rŒ   )r(   Údoks     r)   Útest_DomainMatrix_to_dokrÐ   Y  s{  € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�8Š8‰:Œ:¥ A¡¤­r°!©u¬u½RÀ¹U¼UÍ2ÈaÉ5Ì5ÐQÐQÒQÐQÐQÐQÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ�Q‘%”%¥ 1¡¤Ð
&Ð
&€CØ�8Š8‰:Œ:˜ÒÐÐÐØ�:Š:‰<Œ<×ÒÑ Ô  CÒ'Ð'Ð'Ð'Ø�;Š;‰=Œ=×ÒÑ!Ô! SÒ(Ð(Ð(Ð(ØŒ5�<Š<‰>Œ>× Ò Ñ"Ô" cÒ)Ð)Ð)Ð)ØŒ5�<Š<‰>Œ>× Ò Ñ"Ô" cÒ)Ð)Ð)Ð)Ð)Ð)r+   c                  óÀ  — t          d¦  «        t          d¦  «        dœ} t          ddgddggt           ¦  «        }t          j        | dt           ¦  «        |                     ¦   «         k    sJ ‚t          j        | dt           ¦  «        |j                             ¦   «         k    sJ ‚t          j        | dt           ¦  «        |j         	                    ¦   «         k    sJ ‚d S )Nr   r   rÍ   r   r!   )
r   r   r   Úfrom_dokrž   r   r#   r‹   r   rŒ   rÈ   s     r)   Útest_DomainMatrix_from_dokrÓ   e  s·   € Ý˜‘U”U¥B q¡E¤EÐ*Ð*€EÝ
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AÝÔ  ¨µÑ3Ô3°q·{²{±}´}ÒDÐDÐDÐDÝŒ<˜˜v¥rÑ*Ô*¨a¬e¯lªl©n¬nÒ<Ð<Ð<Ð<ÝŒ<˜˜v¥rÑ*Ô*¨a¬e¯lªl©n¬nÒ<Ð<Ð<Ð<Ð<Ð<r+   c                  óÐ   — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          | ¦  «        dk    sJ ‚d S )Nr   r   r   r    r!   z*DomainMatrix([[1, 2], [3, 4]], (2, 2), ZZ))r   r   ÚreprrH   s    r)   Útest_DomainMatrix_reprrÖ   m  sV   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ�‰7Œ7ÐBÒBÐBÐBÐBÐBÐBr+   c                  óz  — 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 ‚d S ri   )r   r   Ú	transpose)r(   ÚATs     r)   Útest_DomainMatrix_transposerÚ   r  s�   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BØ�;Š;‰=Œ=˜BÒÐÐÐÐÐr+   c                  óÆ   — t          t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        ggdt          ¦  «        }| j        du sJ ‚|j        du sJ ‚d S )Nr   r6   r   FT)r   r   Úis_zero_matrix©r(   rk   s     r)   Ú test_DomainMatrix_is_zero_matrixrÞ   x  sf   € Ý•r˜!‘u”u�g�Y ­Ñ+Ô+€AÝ•r˜!‘u”u�g�Y ­Ñ+Ô+€AØÔ˜uÐ$Ð$Ð$Ð$ØÔ˜tÐ#Ð#Ð#Ð#Ð#Ð#r+   c                  ór  — 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          ¦  «        }| j        du sJ ‚|j        du sJ ‚d S )	Nr   r   r   r    r!   r   TF)r   r   Úis_upperrÝ   s     r)   Útest_DomainMatrix_is_upperrá     óš   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØŒ:˜ÐÐÐÐØŒ:˜ÐÐÐÐÐÐr+   c                  ór  — 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          ¦  «        }| j        du sJ ‚|j        du sJ ‚d S )	Nr   r   r   r    r!   r   TF)r   r   Úis_lowerrÝ   s     r)   Útest_DomainMatrix_is_lowerrå   †  râ   r+   c                  ó  — t          ddgddggt          ¦  «        } t          ddgddggt          ¦  «        }| j        |                      ¦   «         j        cxu rdu sn J ‚|j        |                     ¦   «         j        cxu rdu sn J ‚d S )Nr   r   r    r   r   TF)r   r   Úis_diagonalrž   rÝ   s     r)   Útest_DomainMatrix_is_diagonalrè   �  s¤   € Ý
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AÝ
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AØŒ=˜AŸKšK™MœMÔ5Ð=Ð=Ð=Ð=¸Ð=Ð=Ð=Ð=Ð=Ð=ØŒ=˜AŸKšK™MœMÔ5Ð>Ð>Ð>Ð>¸Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>r+   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t          d¦  «        t          d¦  «        ggdt          ¦  «        }| j        d	u sJ ‚|j        d
u sJ ‚d S )Nr   r   r   r    r!   rL   é   ©r   r   TF)r   r   Ú	is_squarerÝ   s     r)   Útest_DomainMatrix_is_squarerí   ”  s¬   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nµr¸!±u´u½bÀ¹e¼e°nÐEÀvÍrÑRÔR€AØŒ;˜$ÐÐÐÐØŒ;˜%ÐÐÐÐÐÐr+   c                  ó   — t          ddgddggt          ¦  «        } |                      ¦   «         |                      ¦   «                              ¦   «         cxk    r"t          d¦  «        t          d¦  «        gk    sn J ‚t          ddgddgddggt          ¦  «        } |                      ¦   «         |                      ¦   «                              ¦   «         cxk    r"t          d¦  «        t          d¦  «        gk    sn J ‚t          g d¢g d¢gt          ¦  «        } |                      ¦   «         |                      ¦   «                              ¦   «         cxk    r"t          d¦  «        t          d¦  «        gk    sn J ‚d S )	Nr   r   r   r    rL   rê   )r   r   r   )r    rL   rê   )r   r   Údiagonalrž   rH   s    r)   Útest_DomainMatrix_diagonalrð   ›  sU  € Ý
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AØ�:Š:‰<Œ<˜1Ÿ;š;™=œ=×1Ò1Ñ3Ô3ÐEÐEÒEÐE½¸1¹¼½rÀ!¹u¼u°~ÒEÐEÐEÐEÐEÐEÝ
ˆQ�ˆF�Q˜�F˜Q ˜FÐ#¥RÑ(Ô(€AØ�:Š:‰<Œ<˜1Ÿ;š;™=œ=×1Ò1Ñ3Ô3ÐEÐEÒEÐE½¸1¹¼½rÀ!¹u¼u°~ÒEÐEÐEÐEÐEÐEÝ
ˆIˆIˆI�y�y�yÐ!¥2Ñ&Ô&€AØ�:Š:‰<Œ<˜1Ÿ;š;™=œ=×1Ò1Ñ3Ô3ÐEÐEÒEÐE½¸1¹¼½rÀ!¹u¼u°~ÒEÐEÐEÐEÐEÐEÐEÐEr+   c                  ó  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         dk    sJ ‚d S )Nr   r   r   r    rê   é   rë   )r   r   ÚrankrH   s    r)   Útest_DomainMatrix_rankrô   ¤  sc   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nµr¸!±u´u½bÀ¹e¼e°nÐEÀvÍrÑRÔR€AØ�6Š6‰8Œ8�qŠ=ˆ=ˆ=ˆ=ˆ=ˆ=r+   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          ¦  «        } ‰‰z   ‰                     ‰¦  «        cxk    r| k    sn J ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        ŠddgddggŠt          t          ˆˆfd„¦  «         t          t          ˆˆfd	„¦  «         t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          d¦  «        t          d¦  «        ggd
t          ¦  «        Št          t
          ˆˆfd„¦  «         t          t
          ˆˆfd„¦  «         t          t
          ˆˆfd„¦  «         t          t
          ˆˆfd„¦  «         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          ¦  «        Št          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }‰
‰z   |k    sJ ‚‰‰
z   |k    sJ ‚t          t          ˆˆ
fd„¦  «         t          t          ˆˆ
fd„¦  «         t          dt          d¦  «        idt          d¦  «        idœdt          ¦  «        Š	t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Š‰	‰z   }‰‰	z   }|t          ddgddggdt          ¦  «        k    sJ ‚|j        t          ddgddggdt          ¦  «         
                    ¦   «         k    sJ ‚|t          ddgddggdt          ¦  «        k    sJ ‚|j        t          ddgddggdt          ¦  «         
                    ¦   «         k    sJ ‚t          t          ˆˆ	fd„¦  «         d S )Nr   r   r   r    r!   rê   rò   c                  ó   •— ‰ ‰z   S rF   r7   ©r(   ÚLs   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>°  ó   ø€ ˜a !™e€ r+   c                  ó   •— ‰‰ z   S rF   r7   r÷   s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>±  rù   r+   rM   c                  ó   •— ‰ ‰z   S rF   r7   ©ÚA1ÚA2s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>µ  ó   ø€   b¡€ r+   c                  ó   •— ‰‰ z   S rF   r7   rü   s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>¶  rÿ   r+   c                  ó.   •— ‰                       ‰¦  «        S rF   ©Úaddrü   s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>·  ó   ø€  §¢¨¡¤€ r+   c                  ó.   •— ‰                      ‰ ¦  «        S rF   r  rü   s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>¸  r  r+   c                  ó.   •— ‰                      ‰ ¦  «        S rF   r  ©r{   r¬   s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>¿  ó   ø€  "§&¢&¨¡*¤*€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   r  r  s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>À  r  r+   r   r-   rL   c                  ó.   •— ‰                      ‰ ¦  «        S rF   r  r¨   s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>Ë  r  r+   )r   r   r  r   r@   r   r   r   r#   r   r«   r   )rk   ÚAsumÚAsdÚAdsr(   rý   rþ   r©   r{   rª   r¬   rø   s       @@@@@@@@r)   Útest_DomainMatrix_addr  ©  s?  øøøøøøøø€ Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØˆq‰5�A—E’E˜!‘H”HÐ!Ð!Ò!Ð! Ò!Ð!Ð!Ð!Ð!Ð!å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ
ˆQˆ�!�Q�Ð€AÝ
�9�m�m�m�m�mÑ$Ô$Ð$Ý
�9�m�m�m�m�mÑ$Ô$Ð$å	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ	�˜1™œ�r !™uœu�~Ð&¨µÑ	3Ô	3€BÝ
�<˜˜˜˜˜Ñ)Ô)Ð)Ý
�<˜˜˜˜˜Ñ)Ô)Ð)Ý
�<Ð+Ð+Ð+Ð+Ð+Ñ,Ô,Ð,Ý
�<Ð+Ð+Ð+Ð+Ð+Ñ,Ô,Ð,å	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ�"˜Q™%œ%¥ A¡¤˜­"¨Q©%¬%µ°A±´¨Ð8¸&Å"ÑEÔE€DØ�‰7�dŠ?ˆ?ˆ?ˆ?Ø�‰7�dŠ?ˆ?ˆ?ˆ?Ý
�=Ð,Ð,Ð,Ð,Ð,Ñ-Ô-Ð-Ý
�=Ð,Ð,Ð,Ð,Ð,Ñ-Ô-Ð-å	˜1�b ™eœe˜*¨!­R°©U¬U¨Ð4Ð4°f½bÑ	AÔ	A€BÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€Bà
ˆr‰'€CØ
ˆr‰'€CØ•,  A ¨¨A¨Ð/°½Ñ<Ô<Ò<Ð<Ð<Ð<ØŒ7•c˜A˜q˜6 A q 6Ð*¨FµBÑ7Ô7×EÒEÑGÔGÒGÐGÐGÐGØ•,  A ¨¨A¨Ð/°½Ñ<Ô<Ò<Ð<Ð<Ð<ØŒ7•c˜A˜q˜6 A q 6Ð*¨FµBÑ7Ô7×EÒEÑGÔGÒGÐGÐGÐGÝ
�=Ð,Ð,Ð,Ð,Ð,Ñ-Ô-Ð-Ð-Ð-r+   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          ¦  «        } ‰‰z
  ‰                     ‰¦  «        cxk    r| k    sn J ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        ŠddgddggŠt          t          ˆˆfd„¦  «         t          t          ˆˆfd„¦  «         t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          d¦  «        t          d¦  «        ggd	t          ¦  «        Št          t
          ˆˆfd
„¦  «         t          t
          ˆˆfd„¦  «         t          t
          ˆˆfd„¦  «         t          t
          ˆˆfd„¦  «         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          ¦  «        Š	t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }‰
‰	z
  |k    sJ ‚‰	‰
z
  |k    sJ ‚t          t          ˆ	ˆ
fd„¦  «         t          t          ˆ	ˆ
fd„¦  «         t          dt          d¦  «        idt          d¦  «        idœdt          ¦  «        }t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }||z
  }||z
  }|t          ddgddggdt          ¦  «        k    sJ ‚|j        t          ddgddggdt          ¦  «         
                    ¦   «         k    sJ ‚|| k    sJ ‚|j        |j         k    sJ ‚d S )Nr   r   r   r    r!   r   c                  ó   •— ‰ ‰z
  S rF   r7   r÷   s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>Õ  rù   r+   c                  ó   •— ‰‰ z
  S rF   r7   r÷   s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>Ö  rù   r+   rM   c                  ó   •— ‰ ‰z
  S rF   r7   rü   s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>Ú  rÿ   r+   c                  ó   •— ‰‰ z
  S rF   r7   rü   s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>Û  rÿ   r+   c                  ó.   •— ‰                       ‰¦  «        S rF   ©Úsubrü   s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>Ü  r  r+   c                  ó.   •— ‰                      ‰ ¦  «        S rF   r  rü   s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>Ý  r  r+   c                  ó.   •— ‰                      ‰ ¦  «        S rF   r  r  s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>ä  r  r+   c                  ó.   •— ‰                       ‰¦  «        S rF   r  r  s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>å  r  r+   r-   éÿÿÿÿéüÿÿÿ)r   r   r  r   r@   r   r   r   r#   r   r«   )rk   ÚAdiffrª   r©   r  r  r(   rý   rþ   r{   r¬   rø   s         @@@@@@r)   Útest_DomainMatrix_subr  Î  sì  øøøøøø€ Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØˆq‰5�A—E’E˜!‘H”HÐ!Ð!Ò!Ð! Ò!Ð!Ð!Ð!Ð!Ð!å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ
ˆQˆ�!�Q�Ð€AÝ
�9�m�m�m�m�mÑ$Ô$Ð$Ý
�9�m�m�m�m�mÑ$Ô$Ð$å	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ	�˜1™œ�r !™uœu�~Ð&¨µÑ	3Ô	3€BÝ
�<˜˜˜˜˜Ñ)Ô)Ð)Ý
�<˜˜˜˜˜Ñ)Ô)Ð)Ý
�<Ð+Ð+Ð+Ð+Ð+Ñ,Ô,Ð,Ý
�<Ð+Ð+Ð+Ð+Ð+Ñ,Ô,Ð,å	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ�2˜a™5œ5¥" Q¡%¤%˜.­2¨a©5¬5µ"°Q±%´%¨.Ð9¸6Å2ÑFÔF€EØ�‰7�eÒÐÐÐØ�‰7�eÒÐÐÐÝ
�=Ð,Ð,Ð,Ð,Ð,Ñ-Ô-Ð-Ý
�=Ð,Ð,Ð,Ð,Ð,Ñ-Ô-Ð-å	˜1�b ™eœe˜*¨!­R°©U¬U¨Ð4Ð4°f½bÑ	AÔ	A€BÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€Bà
ˆr‰'€CØ
ˆr‰'€CØ•,  R ¨2¨r¨(Ð3°V½RÑ@Ô@Ò@Ð@Ð@Ð@ØŒ7•c˜B ˜8 b¨" XÐ.°½Ñ;Ô;×IÒIÑKÔKÒKÐKÐKÐKØ�3�$Š;ˆ;ˆ;ˆ;ØŒ7�s”w�hÒÐÐÐÐÐr+   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          ¦  «        }|  |                      ¦   «         cxk    r|k    sn J ‚d S )
Nr   r   r   r    r!   r  éþÿÿÿéýÿÿÿr  )r   r   Úneg)r(   ÚAnegs     r)   Útest_DomainMatrix_negr#  ò  s¥   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ�"˜R™&œ&¥" R¡&¤&Ð)­B¨r©F¬FµB°r±F´FÐ+;Ð<¸fÅbÑIÔI€DØˆ2�—’‘”Ð Ð Ò Ð ˜DÒ Ð Ð Ð Ð Ð Ð Ð r+   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          ¦  «        } ‰‰z  ‰                     ‰¦  «        cxk    r| k    sn J ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        ŠddgddggŠt          t          ˆˆfd
„¦  «         t          t          ˆˆfd„¦  «         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
          ¦  «        Š	t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d	¦  «        ggdt
          ¦  «        }‰
‰	z  |k    sJ ‚‰	‰
z  |k    sJ ‚t          t          ˆ	ˆ
fd„¦  «         t          t          ˆ	ˆ
fd„¦  «         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          ¦  «        }t          d¦  «        }‰|z  |‰z  cxk    r ‰                     |¦  «        cxk    r|k    sn J ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Št          j        dt          ¦  «        }t          d¦  «        }‰|z  |‰z  cxk    r2‰                     |¦  «         	                    ¦   «         cxk    r|k    sn J ‚t          dt          d¦  «        idt          d¦  «        idœdt          ¦  «        }t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }||z  }||z  }|t          ddgddggdt          ¦  «        k    sJ ‚|j
        t          ddgddggdt          ¦  «                             ¦   «         k    sJ ‚|t          ddgddggdt          ¦  «        k    sJ ‚|j
        t          ddgddggdt          ¦  «                             ¦   «         k    sJ ‚d S )Nr   r   r   r    r!   rK   é
   é   é   c                  ó   •— ‰ ‰z  S rF   r7   r÷   s   €€r)   r1   z'test_DomainMatrix_mul.<locals>.<lambda>ÿ  rù   r+   c                  ó   •— ‰‰ z  S rF   r7   r÷   s   €€r)   r1   z'test_DomainMatrix_mul.<locals>.<lambda>   rù   r+   c                  ó.   •— ‰                      ‰ ¦  «        S rF   ©Úmatmulr  s   €€r)   r1   z'test_DomainMatrix_mul.<locals>.<lambda>  ó   ø€  "§)¢)¨B¡-¤-€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   r+  r  s   €€r)   r1   z'test_DomainMatrix_mul.<locals>.<lambda>  r-  r+   rê   rò   r   r-   )r   r   r,  r   r@   r   r   ÚmulÚzerosrž   r#   r   r«   )rþ   ÚAprodÚAAr   rª   r©   r  r  r(   r{   r¬   rø   s           @@@@r)   Útest_DomainMatrix_mulr3  ø  sÄ  øøøø€ Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ	�˜1™œ�r "™vœv�­¨B©¬µ°B±´Ð(8Ð9¸6Å2Ñ	FÔ	F€BØˆQ‰3�!—(’(˜1‘+”+Ð#Ð#Ò#Ð# Ò#Ð#Ð#Ð#Ð#Ð#å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ
ˆQˆ�!�Q�Ð€AÝ
�9�m�m�m�m�mÑ$Ô$Ð$Ý
�9�m�m�m�m�mÑ$Ô$Ð$å	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ�2˜a™5œ5¥" R¡&¤&˜/­B¨r©F¬FµB°r±F´FÐ+;Ð<¸fÅbÑIÔI€EØ�‰7�eÒÐÐÐØ�‰7�eÒÐÐÐÝ
�=Ð/Ð/Ð/Ð/Ð/Ñ0Ô0Ð0Ý
�=Ð/Ð/Ð/Ð/Ð/Ñ0Ô0Ð0å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ
ˆ1‰Œ€AØˆq‰5�A˜‘EÐ+Ð+Ò+Ð+˜QŸUšU 1™XœXÐ+Ð+Ò+Ð+¨Ò+Ð+Ð+Ð+Ð+Ð+å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ	Ô	˜F¥BÑ	'Ô	'€BÝ
ˆ1‰Œ€AØˆq‰5�A˜‘EÐ7Ð7Ò7Ð7˜QŸUšU 1™XœX×/Ò/Ñ1Ô1Ð7Ð7Ò7Ð7°RÒ7Ð7Ð7Ð7Ð7Ð7å	˜1�b ™eœe˜*¨!­R°©U¬U¨Ð4Ð4°f½bÑ	AÔ	A€BÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€Bà
ˆr‰'€CØ
ˆr‰'€CØ•,  A ¨¨A¨Ð/°½Ñ<Ô<Ò<Ð<Ð<Ð<ØŒ7•c˜A˜q˜6 A q 6Ð*¨FµBÑ7Ô7×EÒEÑGÔGÒGÐGÐGÐGØ•,  A ¨¨A¨Ð/°½Ñ<Ô<Ò<Ð<Ð<Ð<ØŒ7•c˜A˜q˜6 A q 6Ð*¨FµBÑ7Ô7×EÒEÑGÔGÒGÐGÐGÐGÐGÐGr+   c                  óR  — 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          ¦  «        }t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }|                      |¦  «        |k    sJ ‚|                     | ¦  «        |k    sJ ‚d S )Nr   r   r!   r    r   rò   )r   r   Úmul_elementwiserj   s      r)   Ú!test_DomainMatrix_mul_elementwiser6    sè   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ×Ò˜QÑÔ 1Ò$Ð$Ð$Ð$Ø×Ò˜QÑÔ 1Ò$Ð$Ð$Ð$Ð$Ð$r+   c                  óH  ‡— t          j        dt          ¦  «        } 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          ¦  «        }t          t          d
¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }‰dz  ‰                     d¦  «        cxk    r| k    sn J ‚‰dz  ‰                     d¦  «        cxk    r‰k    sn J ‚‰dz  ‰                     d¦  «        cxk    r|k    sn J ‚‰dz  ‰                     d¦  «        cxk    r|k    sn J ‚t	          t
          ˆfd„¦  «         t	          t          ˆfd„¦  «         t	          t          ˆfd„¦  «         t          j        dt          ¦  «        Št	          t          ˆfd„¦  «         d S )Nr   r   r   r    r!   rK   r%  r&  r'  é%   é6   éQ   év   r   c                  ó*   •— ‰ t          dd¦  «        z  S ©Nr   r   r]   rH   s   €r)   r1   z'test_DomainMatrix_pow.<locals>.<lambda>1  s   ø€ ˜a¥8¨A¨q¡>¤>Ñ1€ r+   c                  ó   •— ‰ dz  S ©Nr  r7   rH   s   €r)   r1   z'test_DomainMatrix_pow.<locals>.<lambda>2  s   ø€ ¨¨R©€ r+   c                  ó.   •— ‰                       d¦  «        S r?  )ÚpowrH   s   €r)   r1   z'test_DomainMatrix_pow.<locals>.<lambda>3  s   ø€ ¨¯ª¨b©	¬	€ r+   ©r   r   c                  ó   •— ‰ dz  S ©Nr   r7   rH   s   €r)   r1   z'test_DomainMatrix_pow.<locals>.<lambda>6  s   ø€ ¨1°©6€ r+   )	r   Úeyer   rA  r   r@   ÚNotImplementedErrorr0  r   )rE  rþ   ÚA3r(   s      @r)   Útest_DomainMatrix_powrH  '  s  ø€ Ý
Ô
˜1�bÑ
!Ô
!€CÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ	�˜1™œ�r "™vœv�­¨B©¬µ°B±´Ð(8Ð9¸6Å2Ñ	FÔ	F€BÝ	�˜2™œ¥ 2¡¤Ð'­"¨R©&¬&µ"°S±'´'Ð):Ð;¸VÅRÑ	HÔ	H€BØˆa‰4�1—5’5˜‘8”8Ð"Ð"Ò"Ð"˜sÒ"Ð"Ð"Ð"Ð"Ð"Øˆa‰4�1—5’5˜‘8”8Ð Ð Ò Ð ˜qÒ Ð Ð Ð Ð Ð Øˆa‰4�1—5’5˜‘8”8Ð!Ð!Ò!Ð!˜rÒ!Ð!Ð!Ð!Ð!Ð!Øˆa‰4�1—5’5˜‘8”8Ð!Ð!Ò!Ð!˜rÒ!Ð!Ð!Ð!Ð!Ð!å
�9Ð1Ð1Ð1Ð1Ñ2Ô2Ð2Ý
Õ    Ñ0Ô0Ð0Ý
ÕÐ 1Ð 1Ð 1Ð 1Ñ2Ô2Ð2åÔ˜6¥2Ñ&Ô&€AÝ
Õ! > > > >Ñ2Ô2Ð2Ð2Ð2r+   c                  óŠ  — t          ddgddggt          ¦  «        } t          t          d¦  «        t          ¦  «        }t          ddgdd	ggt          ¦  «        }|                     t          ¦  «        }|                      ¦   «         ||fk    sJ ‚|                      d
¬¦  «        ||fk    sJ ‚| |z  |k    sJ ‚| ||z  k    sJ ‚d S )NrM   ©r   r   rO   ©r   rL   é<   é   é   r&  é   T©rX   )r   r   r   r   ry   Úclear_denoms©r(   Úden_ZÚAnum_ZÚAnum_Qs       r)   Útest_DomainMatrix_clear_denomsrV  9  sÔ   € Ý
ˆU�5ˆM˜5 ˜-Ð(­"Ñ-Ô-€Aå�˜B™œ¥Ñ$Ô$€EÝ�"�b�˜B ˜8Ð$¥bÑ)Ô)€FØ×Ò�rÑ"Ô"€Fà�>Š>ÑÔ  v˜Ò.Ð.Ð.Ð.Ø�>Š> $ˆ>Ñ'Ô'¨E°6¨?Ò:Ð:Ð:Ð:Øˆu‰9˜ÒÐÐÐØ�˜‘ÒÐÐÐÐÐr+   c                  óÞ  — t          ddgddggt          ¦  «        } t          ddgddggt          ¦  «                             ¦   «         }t          dd	gd
dggt          ¦  «        }t          dd	gd
dggt          ¦  «        }|                      ¦   «         ||fk    sJ ‚|                      d¬¦  «        ||fk    sJ ‚|| z  |k    sJ ‚| |                     ¦   «                              ¦   «         |z  k    sJ ‚t          g d¢g d¢g d¢gt          ¦  «        } t          g d¢g d¢g d¢gt          ¦  «                             ¦   «         }t          g d¢g d¢g d¢gt          ¦  «        }|                     t          ¦  «        }|                      ¦   «         ||fk    sJ ‚|                      d¬¦  «        ||fk    sJ ‚|| z  |k    sJ ‚| |                     ¦   «                              ¦   «         |z  k    sJ ‚d S )NrM   rJ  rO   rK  rê   r   rN  r   r   rL   r    TrP  )rM   rJ  r   r   ©r   r   r   r   )rO   rK  )r   rê   )r   rK   )rê   r   r   )r   r   r   )r   r   i¤  )r   r   r   r   )éi   éT   éF   rL  )r   r   r   rž   Úclear_denoms_rowwiser›   Úinvry   rR  s       r)   Ú&test_DomainMatrix_clear_denoms_rowwiser^  F  s"  € Ý
ˆU�5ˆM˜5 ˜-Ð(­"Ñ-Ô-€Aå��A�˜˜B˜Ð ¥"Ñ%Ô%×/Ò/Ñ1Ô1€EÝ�!�Q�˜!˜Q˜Ð ¥"Ñ%Ô%€FÝ�!�Q�˜!˜Q˜Ð ¥"Ñ%Ô%€Fà×!Ò!Ñ#Ô#¨¨v Ò6Ð6Ð6Ð6Ø×!Ò!¨$Ð!Ñ/Ô/°E¸6°?ÒBÐBÐBÐBØ�1‰9˜ÒÐÐÐØ�—’Ñ Ô ×$Ò$Ñ&Ô&¨Ñ/Ò/Ð/Ð/Ð/å
ÐÐÐ˜i˜i˜iÐ)BÐ)BÐ)BÐCÅRÑHÔH€AÝ�	�	�	˜9˜9˜9 k k kÐ2µBÑ7Ô7×AÒAÑCÔC€EÝ���˜|˜|˜|Ð->Ð->Ð->Ð?ÅÑDÔD€FØ×Ò�rÑ"Ô"€Fà×!Ò!Ñ#Ô#¨¨v Ò6Ð6Ð6Ð6Ø×!Ò!¨$Ð!Ñ/Ô/°E¸6°?ÒBÐBÐBÐBØ�1‰9˜ÒÐÐÐØ�—’Ñ Ô ×$Ò$Ñ&Ô&¨Ñ/Ò/Ð/Ð/Ð/Ð/Ð/r+   c                  ó*  ‡ — t          ddgddggt          ¦  «        Š ‰                      t          d¦  «        ¦  «        t          ddgddggt          ¦  «        t          d¦  «        fk    sJ ‚‰                      t          d¦  «        ¦  «        t          ddgddggt          ¦  «        t          d¦  «        fk    sJ ‚‰                      t          d¦  «        ¦  «        t          ddgddggt          ¦  «        t          d¦  «        fk    sJ ‚t          ddgddggt          ¦  «        Š ‰                      t          d¦  «        ¦  «        ‰ t          d¦  «        fk    sJ ‚‰                      t          d¦  «        ¦  «        ‰  t          d¦  «        fk    sJ ‚t          ddgddggt          ¦  «        Š ‰                      t          dd¦  «        ¦  «        t          dd	¦  «        ‰ z  t          d¦  «        fk    sJ ‚t	          t
          ˆ fd
„¦  «         d S )Nr   r    rê   rò   r   r   r  r   r  c                  óH   •— ‰                       t          d¦  «        ¦  «        S ©Nr   )Úcancel_denomr   rH   s   €r)   r1   z0test_DomainMatrix_cancel_denom.<locals>.<lambda>k  s   ø€  a§n¢nµR¸±U´UÑ&;Ô&;€ r+   )r   r   rb  r   r   ÚZeroDivisionErrorrH   s   @r)   Útest_DomainMatrix_cancel_denomrd  ]  sá  ø€ Ý
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AØ�>Š>�"˜Q™%œ%Ñ Ô ¥R¨!¨Q¨°!°Q°Ð(8½"Ñ%=Ô%=½rÀ!¹u¼uÐ$EÒEÐEÐEÐEØ�>Š>�"˜Q™%œ%Ñ Ô ¥R¨!¨Q¨°!°Q°Ð(8½"Ñ%=Ô%=½rÀ!¹u¼uÐ$EÒEÐEÐEÐEØ�>Š>�"˜Q™%œ%Ñ Ô ¥R¨!¨Q¨°!°Q°Ð(8½"Ñ%=Ô%=½rÀ!¹u¼uÐ$EÒEÐEÐEÐEå
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AØ�>Š>�"˜Q™%œ%Ñ Ô  Q­¨1©¬ JÒ.Ð.Ð.Ð.Ø�>Š>�"˜R™&œ&Ñ!Ô! q b­"¨Q©%¬% [Ò0Ð0Ð0Ð0õ 	ˆQ�ˆF�Q˜�FÐ�TÑ"Ô"€AØ�>Š>�$˜q ™)œ)Ñ$Ô$­¨a°©¬°A©µt¸A±w´wÐ(?Ò?Ð?Ð?Ð?å
ÕÐ;Ð;Ð;Ð;Ñ<Ô<Ð<Ð<Ð<r+   c                  ó
  ‡— t          ddgddggt          ¦  «        Š‰                     t          d¦  «        ¦  «        \  } }| t          ddgddggt          ¦  «        k    sJ ‚|t          ddgddggt          ¦  «        k    sJ ‚‰                     t          d¦  «        ¦  «        \  } }| t          ddgddggt          ¦  «        k    sJ ‚|t          ddgddggt          ¦  «        k    sJ ‚t          t          ˆfd„¦  «         d S )Nr   r    rê   rò   r   r   c                  óH   •— ‰                       t          d¦  «        ¦  «        S ra  )Úcancel_denom_elementwiser   rH   s   €r)   r1   z<test_DomainMatrix_cancel_denom_elementwise.<locals>.<lambda>w  s   ø€  a×&@Ò&@ÅÀAÁÄÑ&GÔ&G€ r+   )r   r   rg  r   rc  )ÚnumersÚdenomsr(   s     @r)   Ú*test_DomainMatrix_cancel_denom_elementwiserj  n  s  ø€ Ý
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AØ×/Ò/µ°1±´Ñ6Ô6�N€FˆFØ•R˜!˜Q˜ ! Q Ð(­"Ñ-Ô-Ò-Ð-Ð-Ð-Ø•R˜!˜Q˜ ! Q Ð(­"Ñ-Ô-Ò-Ð-Ð-Ð-Ø×/Ò/µ°1±´Ñ6Ô6�N€FˆFØ•R˜!˜Q˜ ! Q Ð(­"Ñ-Ô-Ò-Ð-Ð-Ð-Ø•R˜!˜Q˜ ! Q Ð(­"Ñ-Ô-Ò-Ð-Ð-Ð-å
ÕÐGÐGÐGÐGÑHÔHÐHÐHÐHr+   c                  óü   — t          ddgddggt          ¦  «        } t          ddgddggt          ¦  «        }t          d¦  «        }|                      ¦   «         |k    sJ ‚|                      ¦   «         ||fk    sJ ‚d S )Nr   r    rê   rò   r   r   )r   r   ÚcontentÚ	primitive)r(   ÚA_primitiveÚ	A_contents      r)   Ú#test_DomainMatrix_content_primitiverp  z  s‚   € Ý
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AÝ�q˜!�f˜q !˜fÐ%¥rÑ*Ô*€KÝ�1‘”€IØ�9Š9‰;Œ;˜)Ò#Ð#Ð#Ð#Ø�;Š;‰=Œ=˜Y¨Ð4Ò4Ð4Ð4Ð4Ð4Ð4r+   c            	      óz  ‡— 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          ¦  «        } |                      ¦   «         }| j        }|j        }| |||fD ]!Š|                      ¦   «         dgddggk    sJ ‚Œ"t          t          d¦  «        t          d¦  «        t          d¦  «        ggt          ¦  «        Št          t          ˆfd„¦  «         d S )Nr   r   r   r   r    ©r   r   c                  ó,   •— ‰                       ¦   «         S rF   )ÚsccrH   s   €r)   r1   z'test_DomainMatrix_scc.<locals>.<lambda>�  s   ø€ ¨1¯5ª5©7¬7€ r+   )r   r   rž   r#   rt  r   r   r   )r©   rª   r�   r‘   r(   s       @r)   Útest_DomainMatrix_sccru  ‚  s  ø€ Ý	�˜1™œ�r !™uœu¥b¨¡e¤eÐ,Ý˜1™œ�r !™uœu¥b¨¡e¤eÐ,Ý˜1™œ�r !™uœu¥b¨¡e¤eÐ,ð.à/5µrñ
;ô 
;€Bð 
�Š‰Œ€BØŒ6€DØŒ6€DØ�"�d˜DÐ!ð )ð )ˆØ�vŠv‰xŒx˜Q˜C ! Q ˜=Ò(Ð(Ð(Ð(Ð(å
�R�‰UŒU•B�q‘E”E�2˜a™5œ5Ð!Ð"¥BÑ'Ô'€AÝ
Õ! ? ? ? ?Ñ3Ô3Ð3Ð3Ð3r+   c            	      ó”	  ‡— t          g dt          ¦  «        } |                      ¦   «         | dfk    sJ ‚t          t          d¦  «        ggdt          ¦  «        } |                      ¦   «         | dfk    sJ ‚t          t          d¦  «        ggdt          ¦  «        } |                      ¦   «         | d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          ¦  «        k    sJ ‚|d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          ¦  «        k    sJ ‚|d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          ¦  «        k    sJ ‚|d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          ¦  «        k    sJ ‚|dk    sJ ‚d}t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d	¦  «        ggd
t          ¦  «        Š|D ]y}‰                     |¬¦  «        \  }}|t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggd
t          ¦  «        k    sJ ‚|dk    sJ ‚Œzt	          t
          ˆfd„¦  «         t	          t
          ˆfd„¦  «         d S )Nr-   r7   r   r6   )r   r   r   r   r    r!   )r   )ÚautoÚGJr
   ÚCDÚGJ_denseÚFF_denseÚCD_dense©Úmethodc                  ó0   •— ‰                       d¬¦  «        S ©NÚfoor}  )Úrref©r¬   s   €r)   r1   z(test_DomainMatrix_rref.<locals>.<lambda>¶  s   ø€ ˜rŸwšw¨e˜wÑ4Ô4€ r+   c                  ó0   •— ‰                       d¬¦  «        S r€  )Úrref_denrƒ  s   €r)   r1   z(test_DomainMatrix_rref.<locals>.<lambda>·  s   ø€ ˜rŸ{š{°%˜{Ñ8Ô8€ r+   )r   r   r‚  r   r   rA   )r(   ÚArÚpivotsÚmethodsr~  r¬   s        @r)   Útest_DomainMatrix_rrefr‰  �  sö  ø€ å�R˜¥Ñ$Ô$€AØ�6Š6‰8Œ8˜˜2�wÒÐÐÐå•r˜!‘u”u�g�Y ­Ñ+Ô+€AØ�6Š6‰8Œ8˜˜4�yÒ Ð Ð Ð å•r˜!‘u”u�g�Y ­Ñ+Ô+€AØ�6Š6‰8Œ8˜˜2�wÒÐÐÐå•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ—’‘”�J€BˆØ•¥ 1¡¤¥r¨!¡u¤u˜~µ°1±´µr¸!±u´u¨~Ð>ÀÍÑKÔKÒKÐKÐKÐKØ�VÒÐÐÐå•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ—’‘”�J€BˆØ•¥ 1¡¤¥r¨!¡u¤u˜~µ°1±´µr¸!±u´u¨~Ð>ÀÍÑKÔKÒKÐKÐKÐKØ�VÒÐÐÐå•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ—’‘”�J€BˆØ•¥ 1¡¤¥r¨!¡u¤u˜~µ°1±´µr¸!±u´u¨~Ð>ÀÍÑKÔKÒKÐKÐKÐKØ�TŠ>ˆ>ˆ>ˆ>å	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BØ—’‘”�J€BˆØ•¥ 1¡¤¥r¨!¡u¤u˜~µ°1±´µr¸!±u´u¨~Ð>ÀÍÑKÔKÒKÐKÐKÐKØ�VÒÐÐÐàL€GÝ	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BØð  ð  ˆØ—W’W F�WÑ+Ô+‰
ˆˆFØ•\¥B q¡E¤E­2¨a©5¬5 >µB°q±E´E½2¸a¹5¼5°>Ð"BÀFÍBÑOÔOÒOÐOÐOÐOØ˜ÒÐÐÐÐå
�:Ð4Ð4Ð4Ð4Ñ5Ô5Ð5Ý
�:Ð8Ð8Ð8Ð8Ñ9Ô9Ð9Ð9Ð9r+   c                  ór  ‡— t          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          ¦  «        }|                      ¦   «         |k    sJ ‚t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        Št	          t
          ˆfd„¦  «         t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          d	¬
¦  «        } t          t          d¦  «        t          d¦  «        dœt          d¦  «        t          d¦  «        dœdœdt          ¦  «        }|                      ¦   «         |k    sJ ‚d S )Nr   r  r   r  r   r¾   r!   c                  ó,   •— ‰                       ¦   «         S rF   )Úcolumnspacerƒ  s   €r)   r1   z/test_DomainMatrix_columnspace.<locals>.<lambda>À  s   ø€  §¢Ñ 0Ô 0€ r+   r8   r:   r-   )r   r   rŒ  r   r   r   )r(   ÚAcolr¬   s     @r)   Útest_DomainMatrix_columnspacerŽ  º  s¬  ø€ Ý•r˜!‘u”u�b ™fœf¥b¨¡e¤eÐ,­r°!©u¬uµb¸±f´f½bÀ¹e¼eÐ.DÐEÀvÍrÑRÔR€AÝ�"˜Q™%œ%¥ A¡¤˜­"¨Q©%¬%µ°A±´¨Ð8¸&Å"ÑEÔE€DØ�=Š=‰?Œ?˜dÒ"Ð"Ð"Ð"å	�˜1™œ�r "™vœv¥r¨!¡u¤uÐ-µ°1±´µr¸"±v´v½rÀ!¹u¼uÐ/EÐFÈÕPRÑ	SÔ	S€BÝ
�;Ð0Ð0Ð0Ð0Ñ1Ô1Ð1å•r˜!‘u”u�b ™fœf¥b¨¡e¤eÐ,­r°!©u¬uµb¸±f´f½bÀ¹e¼eÐ.DÐEÀvÍrÐW_Ð`Ñ`Ô`€AÝ¥ 1¡¤­"¨Q©%¬%Ð0Ð0½¸A¹¼Å2ÀaÁ5Ä5Ð5IÐ5IÐJÐJÈFÕTVÑWÔW€DØ�=Š=‰?Œ?˜dÒ"Ð"Ð"Ð"Ð"Ð"r+   c                  ó,  ‡— t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        } |                      ¦   «         | k    sJ ‚t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        Št	          t
          ˆfd„¦  «         t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        ggdt          d¬	¦  «        } |                      ¦   «         | k    sJ ‚d S )
Nr   r  r   r  r   r¾   c                  ó,   •— ‰                       ¦   «         S rF   )Úrowspacerƒ  s   €r)   r1   z,test_DomainMatrix_rowspace.<locals>.<lambda>Ì  s   ø€  §¢¡¤€ r+   r8   r:   )r   r   r‘  r   r   r   )r(   r¬   s    @r)   Útest_DomainMatrix_rowspacer’  Ç  s4  ø€ Ý•r˜!‘u”u�b ™fœf¥b¨¡e¤eÐ,­r°!©u¬uµb¸±f´f½bÀ¹e¼eÐ.DÐEÀvÍrÑRÔR€AØ�:Š:‰<Œ<˜1ÒÐÐÐå	�˜1™œ�r "™vœv¥r¨!¡u¤uÐ-µ°1±´µr¸"±v´v½rÀ!¹u¼uÐ/EÐFÈÕPRÑ	SÔ	S€BÝ
�;Ð-Ð-Ð-Ð-Ñ.Ô.Ð.å•r˜!‘u”u�b ™fœf¥b¨¡e¤eÐ,­r°!©u¬uµb¸±f´f½bÀ¹e¼eÐ.DÐEÀvÍrÐW_Ð`Ñ`Ô`€AØ�:Š:‰<Œ<˜1ÒÐÐÐÐÐr+   c                  óp  ‡— t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Št          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          ¦  «        Št          t          d¦  «        t          d¦  «        ggdt          ¦  «        } ‰                     ¦   «         | k    sJ ‚t	          t
          ˆfd„¦  «         t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          d¦  «        t          d¦  «        ggdt          ¦  «        } ‰                     ¦   «         \  }}}|t          d¦  «        k    sJ ‚|                     ¦   «         | k    sJ ‚|                     |¦  «        | k    sJ ‚|                     ¦   «                              ¦   «         |                      ¦   «         k    sJ ‚|                     ¦   «                              |¦  «        |                      ¦   «         k    sJ ‚d S )Nr   r!   r  rM   c                  ó0   •— ‰                       d¬¦  «        S )NT)Údivide_last)Ú	nullspacerH   s   €r)   r1   z-test_DomainMatrix_nullspace.<locals>.<lambda>Û  s   ø€  §¢¸ Ñ =Ô =€ r+   r   r  )	r   r   r–  r   r   r   r…  Únullspace_from_rrefrž   )ÚAnullÚArrefÚdenr‡  r(   s       @r)   Útest_DomainMatrix_nullspacer›  Ò  s*  ø€ Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ�2˜b™6œ6¥2 a¡5¤5˜/Ð*¨FµBÑ7Ô7€EØ�;Š;‰=Œ=˜EÒ!Ð!Ð!Ð!å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ�2˜b™6œ6¥2 a¡5¤5˜/Ð*¨FµBÑ7Ô7€EØ�;Š;‰=Œ=˜EÒ!Ð!Ð!Ð!å
�;Ð=Ð=Ð=Ð=Ñ>Ô>Ð>å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ�2˜b™6œ6¥2 a¡5¤5˜/Ð*¨FµBÑ7Ô7€EàŸš™œÑ€Eˆ3�Ø•"�Q‘%”%Š<ˆ<ˆ<ˆ<Ø×$Ò$Ñ&Ô&¨%Ò/Ð/Ð/Ð/Ø×$Ò$ VÑ,Ô,°Ò5Ð5Ð5Ð5Ø�?Š?ÑÔ×0Ò0Ñ2Ô2°e·o²oÑ6GÔ6GÒGÐGÐGÐGØ�?Š?ÑÔ×0Ò0°Ñ8Ô8¸E¿OºOÑ<MÔ<MÒMÐMÐMÐMÐMÐMr+   c                  ó  ‡‡‡— 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          ddggdt          ¦  «        }t          ddggdt          ¦  «        }‰                     | ¦  «        ||fk    sJ ‚t          t          d¦  «        gt          d¦  «        gt          d¦  «        ggd	t          ¦  «        Št          t          ˆˆfd
„¦  «         t          t          d¦  «        gt          d¦  «        ggdt
          ¦  «        Št          t          ˆˆfd„¦  «         d S )Nr   r   r    r!   rB  r   rM   r  rN   c                  ó.   •— ‰                       ‰¦  «        S rF   ©Ú_solve)r(   Úb3s   €€r)   r1   z)test_DomainMatrix_solve.<locals>.<lambda>ñ  s   ø€  §¢¨"¡¤€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   rž  )r(   Úbzs   €€r)   r1   z)test_DomainMatrix_solve.<locals>.<lambda>ô  s   ø€  §¢¨¡¤€ r+   )r   r   rŸ  r   r   r   r   )ÚbÚ
particularr–  r(   r   r¢  s      @@@r)   Útest_DomainMatrix_solver¥  è  sE  øøø€ å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ  1˜v˜h¨µÑ3Ô3€JÝ˜r 1˜g˜Y¨µÑ3Ô3€IØ�8Š8�A‰;Œ;˜: yÐ1Ò1Ð1Ð1Ð1å	�˜1™œ�w¥ A¡¤ ­"¨Q©%¬%¨Ð1°6½2Ñ	>Ô	>€BÝ
�<Ð-Ð-Ð-Ð-Ð-Ñ.Ô.Ð.å	�˜1™œ�w¥ A¡¤ Ð(¨&µ"Ñ	5Ô	5€BÝ
�;Ð,Ð,Ð,Ð,Ð,Ñ-Ô-Ð-Ð-Ð-r+   c                  ó  ‡‡‡— t          g dt          ¦  «        } |                      ¦   «         | 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d¦  «        t          dd¦  «        ggdt          ¦  «        }|                      ¦   «         |k    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Št	          t
          ˆfd	„¦  «         t          t          d¦  «        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          ˆfd„¦  «         d S )NrË   r   r   r   r    r!   r  r  c                  ó,   •— ‰                       ¦   «         S rF   ©r]  rƒ  s   €r)   r1   z'test_DomainMatrix_inv.<locals>.<lambda>   s   ø€  §¢¡¤€ r+   rM   c                  ó,   •— ‰                       ¦   «         S rF   r¨  ©ÚAnss   €r)   r1   z'test_DomainMatrix_inv.<locals>.<lambda>  ó   ø€ ¨3¯7ª7©9¬9€ r+   rê   c                  ó,   •— ‰                       ¦   «         S rF   r¨  )ÚAninvs   €r)   r1   z'test_DomainMatrix_inv.<locals>.<lambda>  s   ø€ ¨u¯yªy©{¬{€ r+   )r   r   r]  r   r   r   r   r   )r(   ÚAinvr®  r«  r¬   s     @@@r)   Útest_DomainMatrix_invr°  ÷  s—  øøø€ Ý�R˜¥Ñ$Ô$€AØ�5Š5‰7Œ7�aŠ<ˆ<ˆ<ˆ<å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ�"˜R™&œ&¥" Q¡%¤%˜­2¨a°©8¬8µR¸¸A±Y´YÐ*?Ð@À&Í"ÑMÔM€DØ�5Š5‰7Œ7�dŠ?ˆ?ˆ?ˆ?å	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ
�;Ð(Ð(Ð(Ð(Ñ)Ô)Ð)å
�˜A™œ¥ 1¡¤˜Ð'¨µÑ
4Ô
4€CÝ
Õ!Ð#4Ð#4Ð#4Ð#4Ñ5Ô5Ð5å�2˜a™5œ5¥" Q¡%¤%˜.­2¨a©5¬5µ"°Q±%´%¨.Ð9¸6Å2ÑFÔF€EÝ
Õ%Ð':Ð':Ð':Ð':Ñ;Ô;Ð;Ð;Ð;r+   c            	      ó6  ‡— t          g dt          ¦  «        } |                      ¦   «         dk    sJ ‚t          dggd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¦  «        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¦  «        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          d¦  «        k    sJ ‚d S )NrË   r   r6   r   r   r    r!   r  rL   rr  r  r   rM   c                  ó,   •— ‰                       ¦   «         S rF   )Údetrª  s   €r)   r1   z'test_DomainMatrix_det.<locals>.<lambda>  r¬  r+   )r   r   r³  r   r   r   )r(   r«  s    @r)   Útest_DomainMatrix_detr´  	  sR  ø€ Ý�R˜¥Ñ$Ô$€AØ�5Š5‰7Œ7�aŠ<ˆ<ˆ<ˆ<å�q�c�U˜F¥BÑ'Ô'€AØ�5Š5‰7Œ7�aŠ<ˆ<ˆ<ˆ<å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�5Š5‰7Œ7•b˜‘f”fÒÐÐÐå•r˜!‘u”u�b ™eœe¥R¨¡U¤UÐ+­b°©e¬eµR¸±U´U½B¸q¹E¼EÐ-BÅRÈÁUÄUÍBÈqÉEÌEÕSUÐVWÑSXÔSXÐDYÐZÐ\bÕdfÑgÔg€AØ�5Š5‰7Œ7•b˜‘f”fÒÐÐÐå•r˜!‘u”u�b ™eœe¥R¨¡U¤UÐ+­b°©e¬eµR¸±U´U½B¸q¹E¼EÐ-BÅRÈÁUÄUÍBÈqÉEÌEÕSUÐVWÑSXÔSXÐDYÐZÐ\bÕdfÑgÔg€AØ�5Š5‰7Œ7•b˜‘e”eÒÐÐÐå
�˜A™œ¥ 1¡¤˜Ð'¨µÑ
4Ô
4€CÝ
Õ!Ð#4Ð#4Ð#4Ð#4Ñ5Ô5Ð5å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�5Š5‰7Œ7•b˜‘f”fÒÐÐÐÐÐr+   c                  óÈ  ‡— t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          d¦  «        t          d¦  «        t          d¦  «        g}t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d	¦  «        ggdt          ¦  «        }|                      |¦  «        |cxk    r-|d
         | dz  z  |d         | z  z   |d         | d
z  z  z   k    sn J ‚|                      g ¦  «        |                      | j        | j        ¦  «        k    sJ ‚|                      t          d¦  «        g¦  «        d|                      d| j        ¦  «        z  k    sJ ‚t          t          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          ˆfd„¦  «         d S )Nr   r   r   r    r!   rO  é   é   é!   r   rM   c                  óJ   •— ‰                       t          d¦  «        g¦  «        S rD  )Ú	eval_polyr   )ÚdM2s   €r)   r1   z-test_DomainMatrix_eval_poly.<locals>.<lambda>)  s   ø€ ¨3¯=ª=½"¸Q¹%¼%¸Ñ+AÔ+A€ r+   )	r   r   rº  r0  r%   r&   rE  r   r   )ÚdMÚpÚresultr»  s      @r)   Útest_DomainMatrix_eval_polyr¿     s–  ø€ Ý	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐ€AÝ�B˜r™FœF¥B r¡F¤FÐ+­b°©f¬fµb¸±f´fÐ-=Ð>ÀÍÑKÔK€FØ�<Š<˜‰?Œ?˜fÐIÐIÒIÐI¨¨!¬¨R°©U©
°Q°q´T¸"±WÑ(<¸qÀ¼tÀBÈÁE¹zÑ(IÒIÐIÐIÐIÐIÐIØ�<Š<˜ÑÔ˜rŸxšx¨¬°"´)Ñ<Ô<Ò<Ð<Ð<Ð<Ø�<Š<�˜A™œ˜Ñ Ô  A b§f¢f¨Q°´	Ñ&:Ô&:Ñ$:Ò:Ð:Ð:Ð:å
�˜A™œ¥ 1¡¤˜Ð'¨µÑ
4Ô
4€CÝ
Õ!Ð#AÐ#AÐ#AÐ#AÑBÔBÐBÐBÐBr+   c                  óâ  ‡‡‡‡‡— 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          d¦  «        t          d¦  «        t          d¦  «        g}t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        }|                      |‰¦  «        |cxk    r0|d	         | dz  z  ‰z  |d         | z  ‰z  z   |d         ‰z  z   k    sn J ‚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
          ˆˆfd„¦  «         t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          ˆˆfd„¦  «         d S )Nr   r   r   r    r!   rB  é(   éW   r   c                  óL   •— ‰                      t          d¦  «        g‰ ¦  «        S rD  ©Úeval_poly_mulr   )r£  ÚdM1s   €€r)   r1   z1test_DomainMatrix_eval_poly_mul.<locals>.<lambda>5  s   ø€ ¨3×+<Ò+<½bÀ¹e¼e¸WÀaÑ+HÔ+H€ r+   rM   c                  óL   •— ‰                      t          d¦  «        g‰ ¦  «        S rD  rÄ  )Úb1r¼  s   €€r)   r1   z1test_DomainMatrix_eval_poly_mul.<locals>.<lambda>7  s   ø€  ×!1Ò!1µ2°a±5´5°'¸2Ñ!>Ô!>€ r+   c                  óL   •— ‰                      t          d¦  «        g‰ ¦  «        S rD  rÄ  )Úbqr¼  s   €€r)   r1   z1test_DomainMatrix_eval_poly_mul.<locals>.<lambda>9  s   ø€  "×"2Ò"2µB°q±E´E°7¸BÑ"?Ô"?€ r+   )r   r   rÅ  r   r   r   r   r   )r(   r½  r¾  r£  rÈ  rÊ  r¼  rÆ  s      @@@@@r)   Útest_DomainMatrix_eval_poly_mulrË  ,  s  øøøøø€ Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐ€AÝ�B˜r™FœF˜8¥b¨¡f¤f XÐ.°½Ñ;Ô;€FØ�?Š?˜1˜aÑ Ô  FÐMÐMÒMÐM¨a°¬d°1°a±4©i¸©k¸A¸a¼DÀ¹FÀ1¹HÑ.DÀqÈÄtÈAÁvÑ.MÒMÐMÐMÐMÐMÐMå	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BÝ
�˜A™œ˜¥" Q¡%¤% Ð)¨6µ2Ñ
6Ô
6€CÝ
Õ!Ð#HÐ#HÐ#HÐ#HÐ#HÑIÔIÐIÝ	�˜1™œ�r !™uœu�~Ð&¨µÑ	3Ô	3€BÝ
�<Ð>Ð>Ð>Ð>Ð>Ñ?Ô?Ð?Ý	�˜1™œ�w¥ A¡¤ Ð(¨&µ"Ñ	5Ô	5€BÝ
�=Ð?Ð?Ð?Ð?Ð?Ñ@Ô@Ð@Ð@Ð@r+   c                 óh  ‡‡— | |‰f}|                       ¦   «         |                      ¦   «         ‰                      ¦   «         f}||fD ]ê\  Š}}‰|z  ||z  k    sJ ‚||f| | fg}‰                     ‰¦  «        |v sJ ‚‰                     ‰d¬¦  «        |v sJ ‚‰                     ‰¦  «        |v sJ ‚‰j        \  }	}
|	|
k    r=‰                     |d¬¦  «        ||fk    sJ ‚‰                     |¦  «        ||fk    sJ ‚Œ¸t          t          ˆˆfd„¦  «         t          t          ˆˆfd„¦  «         Œëd S )Nr‚  r}  Úcharpolyc                  ó.   •— ‰                       ‰¦  «        S rF   ©Úsolve_den_charpoly©ÚAir£  s   €€r)   r1   z"_check_solve_den.<locals>.<lambda>T  s   ø€ °2×3HÒ3HÈÑ3KÔ3K€ r+   c                  ó2   •— ‰                       ‰d¬¦  «        S )NrÍ  r}  ©Ú	solve_denrÑ  s   €€r)   r1   z"_check_solve_den.<locals>.<lambda>U  s   ø€ °2·<²<ÀÈ*°<Ñ3UÔ3U€ r+   )rž   rÕ  Úsolve_den_rrefr%   rÐ  r   r   )r(   r£  ÚxnumÚxdenÚcase1Úcase2Úxnum_iÚb_iÚanswersÚmÚnrÒ  s    `         @r)   Ú_check_solve_denrà  <  s‹  øø€ ð ��aˆL€EØ�[Š[‰]Œ]˜DŸNšNÑ,Ô,¨a¯kªk©m¬mÐ<€Eà! 5˜>ð Wð W‰ˆˆF�Cà�&‰y˜D ™HÒ$Ð$Ð$Ð$ð ˜D�> V G¨d¨UÐ#3Ð4ˆØ�|Š|˜A‰Œ 'Ð)Ð)Ð)Ð)Ø�|Š|˜A fˆ|Ñ-Ô-°Ð8Ð8Ð8Ð8Ø× Ò  Ñ#Ô# wÐ.Ð.Ð.Ð.ð Œx‰ˆˆ1Ø�Š6ˆ6Ø—<’< ¨J�<Ñ7Ô7¸FÀD¸>ÒIÐIÐIÐIØ×(Ò(¨Ñ-Ô-°&¸$°Ò?Ð?Ð?Ð?Ð?åÕ)Ð+KÐ+KÐ+KÐ+KÐ+KÑLÔLÐLÝÕ)Ð+UÐ+UÐ+UÐ+UÐ+UÑVÔVÐVÐVð%Wð Wr+   c            	      ó�  — 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¦  «        ggdt          ¦  «        }t          d	¦  «        }t          | |||¦  «         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¦  «        gt          d¦  «        gt          d¦  «        ggdt          ¦  «        }t          t          d¦  «        gt          d¦  «        gt          d¦  «        ggdt          ¦  «        }t          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          ¦  «        }t          d¦  «        }t          | |||¦  «         d S )Nr   r   r   r    r!   rB  r   r  r  rL   rr  rN   r6   )r   r   rà  )r(   r£  r¾  rš  s       r)   Útest_DomainMatrix_solve_denrâ  X  s  € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ�B˜q™EœE˜7¥R¨¡V¤V HÐ-¨vµrÑ:Ô:€FÝ
ˆR‰&Œ&€CÝ�Q˜˜6 3Ñ'Ô'Ð'åÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐðð !'­ñ	,ô 	,€Aõ 	•r˜!‘u”u�g¥ 1¡¤˜w­¨A©¬¨Ð0°&½"Ñ=Ô=€AÝ�B˜q™EœE˜7¥R¨¡U¤U G­b°©f¬f¨XÐ6¸ÅÑCÔC€FÝ
ˆR‰&Œ&€CÝ�Q˜˜6 3Ñ'Ô'Ð'å•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ�B˜q™EœE˜7˜) V­RÑ0Ô0€FÝ
ˆQ‰%Œ%€CÝ�Q˜˜6 3Ñ'Ô'Ð'Ð'Ð'r+   c                  óâ  ‡ ‡‡‡‡— 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¦  «        t          d¦  «        ggdt          ¦  «        Št          t          ˆˆfd„¦  «         t          t          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          ˆ ˆfd	„¦  «         t          t          d¦  «        gt          d¦  «        ggdt
          ¦  «        Št          t          ˆ ˆfd
„¦  «         d S )Nr   r   r   r    r!   rB  rM   c                  ó.   •— ‰                       ‰¦  «        S rF   rÏ  )rý   r£  s   €€r)   r1   z6test_DomainMatrix_solve_den_charpoly.<locals>.<lambda>s  s   ø€ ¨2×+@Ò+@ÀÑ+CÔ+C€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   rÏ  ©r(   rÈ  s   €€r)   r1   z6test_DomainMatrix_solve_den_charpoly.<locals>.<lambda>u  s   ø€  ×!5Ò!5°bÑ!9Ô!9€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   rÏ  )r(   rÊ  s   €€r)   r1   z6test_DomainMatrix_solve_den_charpoly.<locals>.<lambda>w  s   ø€  !×"6Ò"6°rÑ":Ô":€ r+   )r   r   r   r   r   r   r   )r(   rý   r£  rÈ  rÊ  s   @@@@@r)   Ú$test_DomainMatrix_solve_den_charpolyrè  o  s/  øøøøø€ Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ	�˜1™œ�r !™uœu�~Ð&¨µÑ	3Ô	3€BÝ
Õ!Ð#CÐ#CÐ#CÐ#CÐ#CÑDÔDÐDÝ	�˜1™œ�r !™uœu�~Ð&¨µÑ	3Ô	3€BÝ
�<Ð9Ð9Ð9Ð9Ð9Ñ:Ô:Ð:Ý	�˜1™œ�w¥ A¡¤ Ð(¨&µ"Ñ	5Ô	5€BÝ
�=Ð:Ð:Ð:Ð:Ð:Ñ;Ô;Ð;Ð;Ð;r+   c                  ó>  ‡‡— 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¦  «        gt          d¦  «        ggdt          ¦  «        } ‰                     ¦   «         ‰z  | k    sJ ‚‰                     ‰d	¬
¦  «        | t          d¦  «        fk    sJ ‚d S )Nr   r   r    r!   r   rB  c                  ó.   •— ‰                       ‰¦  «        S rF   rÏ  ©r(   r£  s   €€r)   r1   z<test_DomainMatrix_solve_den_charpoly_check.<locals>.<lambda>~  s   ø€ ¨q×/CÒ/CÀAÑ/FÔ/F€ r+   r  F)Úcheckr   )r   r   r   r   ÚadjugaterÐ  )ÚadjAbr(   r£  s    @@r)   Ú*test_DomainMatrix_solve_den_charpoly_checkrï  z  sö   øø€ å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ
Õ%Ð'FÐ'FÐ'FÐ'FÐ'FÑGÔGÐGÝ�2˜b™6œ6˜(¥R¨¡U¤U GÐ,¨fµbÑ9Ô9€EØ�:Š:‰<Œ<˜!Ñ˜uÒ$Ð$Ð$Ð$Ø×Ò ¨ÐÑ/Ô/°E½2¸a¹5¼5°>ÒAÐAÐAÐAÐAÐAr+   c                  ón  ‡ ‡‡— t          t          d¦  «        t          d¦  «        ggdt          ¦  «        Š t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          ˆ ˆfd„¦  «         t          t          ˆ ˆfd„¦  «         t          t          d¦  «        t          d¦  «        ggdt          ¦  «        Š t          t          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          ˆ ˆfd„¦  «         t          t          ˆ ˆfd„¦  «         t          t          d¦  «        t          d¦  «        gt          d	¦  «        t          d
¦  «        ggdt          ¦  «        Š t          t          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          ˆ ˆfd„¦  «         t          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          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t
          ˆ ˆfd„¦  «         d S )Nr   r   rM   rB  c                  ó.   •— ‰                       ‰¦  «        S rF   rÔ  rë  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>‡  ó   ø€  §¢¨Q¡¤€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   ©rÖ  rë  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>ˆ  ó   ø€  ×!1Ò!1°!Ñ!4Ô!4€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   rÔ  rë  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>Œ  rò  r+   c                  ó.   •— ‰                       ‰¦  «        S rF   rô  rë  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>�  rõ  r+   r   r    r!   c                  ó.   •— ‰                       ‰¦  «        S rF   rÔ  ræ  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>‘  s   ø€  §¢¨R¡¤€ r+   r6   c                  ó2   •— ‰                       ‰d¬¦  «        S )Nr=   r}  rÔ  ræ  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>•  s   ø€  A§K¢K°¸9 KÑ$EÔ$E€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   rÏ  rë  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>™  s   ø€ ¨1×+?Ò+?ÀÑ+BÔ+B€ r+   )r   r   r   r   r   r   )r(   r£  rÈ  s   @@@r)   Ú"test_DomainMatrix_solve_den_errorsrû  „  sE  øøø€ Ý•r˜!‘u”u�b ™eœe�nÐ% v­rÑ2Ô2€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ
�<Ð/Ð/Ð/Ð/Ð/Ñ0Ô0Ð0Ý
�<Ð4Ð4Ð4Ð4Ð4Ñ5Ô5Ð5å•r˜!‘u”u�b ™eœe�nÐ% v­rÑ2Ô2€AÝ•r˜!‘u”u�b ™eœe�nÐ% v­rÑ2Ô2€AÝ
�<Ð/Ð/Ð/Ð/Ð/Ñ0Ô0Ð0Ý
�<Ð4Ð4Ð4Ð4Ð4Ñ5Ô5Ð5å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ	�˜1™œ�r !™uœu�~Ð&¨µÑ	3Ô	3€BÝ
�<Ð0Ð0Ð0Ð0Ð0Ñ1Ô1Ð1å•r˜!‘u”u�g�Y ­Ñ+Ô+€AÝ•r˜!‘u”u�g�Y ­Ñ+Ô+€AÝ
�?ÐEÐEÐEÐEÐEÑFÔFÐFå•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ
Õ!Ð#BÐ#BÐ#BÐ#BÐ#BÑCÔCÐCÐCÐCr+   c                  óv  ‡ ‡— 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          ˆ ˆfd„¦  «         d S )Nr   r   r!   rB  c                  ó.   •— ‰                       ‰¦  «        S rF   rÔ  rë  s   €€r)   r1   zBtest_DomainMatrix_solve_den_rref_underdetermined.<locals>.<lambda>Ÿ  s   ø€ ¨q¯{ª{¸1©~¬~€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   rô  rë  s   €€r)   r1   zBtest_DomainMatrix_solve_den_rref_underdetermined.<locals>.<lambda>   s   ø€ ¨q×/?Ò/?ÀÑ/BÔ/B€ r+   )r   r   r   r   rë  s   @@r)   Ú0test_DomainMatrix_solve_den_rref_underdeterminedrÿ  œ  s¢   øø€ Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ
Õ%Ð'=Ð'=Ð'=Ð'=Ð'=Ñ>Ô>Ð>Ý
Õ%Ð'BÐ'BÐ'BÐ'BÐ'BÑCÔCÐCÐCÐCr+   c            	      óÀ  ‡— t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        ggt          ¦  «        Š‰                     ¦   «         \  } }| t          d¦  «        t          d
¦  «        t          d¦  «        gk    sJ ‚‰                     ¦   «         | d         ‰dz  z  | d         ‰dz  z  z   | d         ‰dz  z  z   cxk    r‰                     | ¦  «        k    sn J ‚‰                     ¦   «         |k    sJ ‚t          t          d¦  «        t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d	¦  «        ggt          ¦  «        Št          t          ˆfd„¦  «         d S )Nr   r   r   r    rL   rê   rK   rò   é	   éñÿÿÿéîÿÿÿr   c                  ó,   •— ‰                       ¦   «         S rF   )Úadj_poly_detrH   s   €r)   r1   z0test_DomainMatrix_adj_poly_det.<locals>.<lambda>®  s   ø€ ¨1¯>ª>Ñ+;Ô+;€ r+   )r   r   r  rí  rº  r³  r   r   )r½  ÚdetAr(   s     @r)   Útest_DomainMatrix_adj_poly_detr  £  s•  ø€ Ý
�R�‰UŒU•B�q‘E”E�2˜a™5œ5Ð!Ý�‰UŒU•B�q‘E”E�2˜a™5œ5Ð!Ý�‰UŒU•B�q‘E”E�2˜a™5œ5Ð!ð#å$&ñ	(ô 	(€Að �nŠnÑÔ�G€A€tØ•�A‘”�˜3™œ¥ C¡¤Ð)Ò)Ð)Ð)Ð)Ø�:Š:‰<Œ<˜1˜Qœ4  1¡™9 q¨¤t¨A¨q©D¡yÑ0°1°Q´4¸¸1¹±9Ñ<ÐNÐNÒNÐNÀÇÂÈAÁÄÒNÐNÐNÐNÐNÐNØ�5Š5‰7Œ7�dŠ?ˆ?ˆ?ˆ?å
�R�‰UŒU•B�q‘E”E�2˜a™5œ5Ð!Ý�‰UŒU•B�q‘E”E�2˜a™5œ5Ð!ð#Ý$&ñ	(ô 	(€Aå
Õ!Ð#;Ð#;Ð#;Ð#;Ñ<Ô<Ð<Ð<Ð<r+   c                  óœ  — t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          d¦  «        }t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }|                      ¦   «         ||fk    sJ ‚d S ©Nr   r   r   r    r!   r  r   )r   r   Úinv_den)r(   rš  r¾  s      r)   Útest_DomainMatrix_inv_denr  ±  sœ   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ
ˆR‰&Œ&€CÝ�B˜q™EœE¥2 b¡6¤6˜?­R°©V¬VµR¸±U´U¨OÐ<¸fÅbÑIÔI€FØ�9Š9‰;Œ;˜6 3˜-Ò'Ð'Ð'Ð'Ð'Ð'r+   c                  óz  — 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 ‚d S r	  )r   r   rí  )r(   r¾  s     r)   Útest_DomainMatrix_adjugater  ¸  s�   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ�B˜q™EœE¥2 b¡6¤6˜?­R°©V¬VµR¸±U´U¨OÐ<¸fÅbÑIÔI€FØ�:Š:‰<Œ<˜6Ò!Ð!Ð!Ð!Ð!Ð!r+   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          ¦  «        }|                      ¦   «         |t          d¦  «        fk    sJ ‚d S r	  )r   r   Úadj_det)r(   ÚadjAs     r)   Útest_DomainMatrix_adj_detr  ¾  s—   € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ�"˜Q™%œ%¥ B¡¤˜­2¨b©6¬6µ2°a±5´5¨/Ð:¸FÅBÑGÔG€DØ�9Š9‰;Œ;˜4¥ B¡¤˜.Ò(Ð(Ð(Ð(Ð(Ð(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          ¦  «        } t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        g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          ¦  «        } t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }d	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          ¦  «        } t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        g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          ¦  «        } t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }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¦  «        g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          ¦  «        }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¦  «        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t          d¦  «        t          d¦  «        ggdt          ¦  «        }g }‰                     ¦   «         | ||f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          ¦  «        }‰                     ¦   «         | |g f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    r!   r   r  r-   rL   rê   r¾   r   iúÿÿÿrë   rr  )r   r   r   r   rX  )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 r7   r7   )r‡   rˆ   rQ   s     €r)   r‰   zEtest_DomainMatrix_lu.<locals>.<lambda>.<locals>.<listcomp>.<listcomp>ò  s!   ø€ Ð 5Ð 5Ð 5¨A   Q¡¤Ð 5Ð 5Ð 5r+   r7   )r‡   ÚrowrQ   s     €r)   r‰   z:test_DomainMatrix_lu.<locals>.<lambda>.<locals>.<listcomp>ò  s.   ø€ ÐFÐFÐF¸#Ð 5Ð 5Ð 5Ð 5°Ð 5Ñ 5Ô 5ÐFÐFÐFr+   r7   )ÚrowsrQ   s    `r)   r1   z&test_DomainMatrix_lu.<locals>.<lambda>ò  s   ø€ ÐFÐFÐFÐFÀÐFÑFÔF€ r+   )r    r    c                  ó,   •— ‰                       ¦   «         S rF   )ÚlurH   s   €r)   r1   z&test_DomainMatrix_lu.<locals>.<lambda>ù  s   ø€  §¢¡¤€ r+   )r   r   r  r   r   r   )rø   ÚUÚswapsÚto_domr(   s       @r)   Útest_DomainMatrix_lur  Ä  s�  ø€ Ý�R˜¥Ñ$Ô$€AØ�4Š4‰6Œ6�a˜˜B�ZÒÐÐÐå•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©f¬f oÐ6¸ÅÑCÔC€AØ€EØ�4Š4‰6Œ6�a˜˜E�]Ò"Ð"Ð"Ð"å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØˆH€EØ�4Š4‰6Œ6�a˜˜E�]Ò"Ð"Ð"Ð"å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ€EØ�4Š4‰6Œ6�a˜˜E�]Ò"Ð"Ð"Ð"å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ€EØ�4Š4‰6Œ6�a˜˜E�]Ò"Ð"Ð"Ð"å•r˜!‘u”u�b ™eœe¥R¨¡U¤UÐ+­b°©e¬eµR¸±U´U½B¸q¹E¼EÐ-BÐCÀVÍRÑPÔP€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe¥R¨¡U¤UÐ+­b°©e¬eµR¸±V´V½RÀ¹V¼VÐ-DÐEÀvÍrÑRÔR€AØ€EØ�4Š4‰6Œ6�a˜˜E�]Ò"Ð"Ð"Ð"å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nµr¸!±u´u½bÀ¹e¼e°nÐEÀvÍrÑRÔR€AÝÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐðð !'­ñ	,ô 	,€Aõ 	•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©f¬f o½¸1¹¼½rÀ!¹u¼u°~ÐFÈÕPRÑSÔS€AØ€EØ�4Š4‰6Œ6�a˜˜E�]Ò"Ð"Ð"Ð"à	ˆˆ�|�|�| \ \ \°<°<°<Ð@€AØ	ˆˆ�|�|�| \ \ \°<°<°<Ð@€AØ	ˆˆ�|�|�| \ \ \°<°<°<Ð@€AØFÐF€FÝ�V�V˜A�r‘]”] F­BÑ/Ô/€AÝ�V�V˜A�r‘]”] F­BÑ/Ô/€AÝ�V�V˜A�r‘]”] F­BÑ/Ô/€AØ�4Š4‰6Œ6�a˜˜B�ZÒÐÐÐå•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ
�;˜˜˜˜Ñ'Ô'Ð'Ð'Ð'r+   c                  óä  ‡‡— t          g dt          ¦  «        xŠxŠ} ‰                     ‰¦  «        | k    sJ ‚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          ¦  «        Š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          ¦  «        Št          t          d¦  «        gt          d¦  «        ggdt          ¦  «        Št          t          ˆˆfd	„¦  «         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          ¦  «        Š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t          d
¦  «        t          d¦  «        ggdt          ¦  «        Št          t          d¦  «        g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¦  «        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t          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          ˆˆfd„¦  «         d S )NrË   r   r   r   r    r!   rB  r   c                  ó.   •— ‰                       ‰¦  «        S rF   ©Úlu_solverë  s   €€r)   r1   z,test_DomainMatrix_lu_solve.<locals>.<lambda>  ó   ø€ ¨q¯zªz¸!©}¬}€ r+   rL   rê   rë   rN   c                  ó.   •— ‰                       ‰¦  «        S rF   r   rë  s   €€r)   r1   z,test_DomainMatrix_lu_solve.<locals>.<lambda>  r"  r+   rM   r6   c                  ó.   •— ‰                       ‰¦  «        S rF   r   rë  s   €€r)   r1   z,test_DomainMatrix_lu_solve.<locals>.<lambda>   s   ø€ ¨¯
ª
°1©¬€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   r   rë  s   €€r)   r1   z,test_DomainMatrix_lu_solve.<locals>.<lambda>%  s   ø€  §
¢
¨1¡¤€ r+   c                  ó.   •— ‰                       ‰¦  «        S rF   r   rë  s   €€r)   r1   z,test_DomainMatrix_lu_solve.<locals>.<lambda>*  s   ø€  §¢¨A¡¤€ r+   )	r   r   r!  r   r   rF  r   r   r   )r   r(   r£  s    @@r)   Útest_DomainMatrix_lu_solver'  ü  s¦  øø€ å˜R ­Ñ,Ô,Ð,€AÐ,ˆˆAØ�:Š:�a‰=Œ=˜AÒÐÐÐõ 	•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ•r˜!‘u”u�g¥ 1 a¡¤˜zÐ*¨FµBÑ7Ô7€AØ�:Š:�a‰=Œ=˜AÒÐÐÐõ 	•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ•r˜!‘u”u�g¥ 1 a¡¤˜zÐ*¨FµBÑ7Ô7€AØ�:Š:�a‰=Œ=˜AÒÐÐÐõ 	•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ
Õ%Ð'<Ð'<Ð'<Ð'<Ð'<Ñ=Ô=Ð=õ 	•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nµr¸!±u´u½bÀ¹e¼e°nÐEÀvÍrÑRÔR€AÝ•r˜!‘u”u�g¥ 1¡¤˜w­¨A©¬¨Ð0°&½"Ñ=Ô=€AÝ•r˜!‘u”u�g¥ 1 a¡¤˜zÐ*¨FµBÑ7Ô7€AØ�:Š:�a‰=Œ=˜AÒÐÐÐõ 	•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nµr¸!±u´u½bÀ¹e¼e°nÐEÀvÍrÑRÔR€AÝ•r˜!‘u”u�g¥ 1¡¤˜w­¨A©¬¨Ð0°&½"Ñ=Ô=€AÝ
Õ%Ð'<Ð'<Ð'<Ð'<Ð'<Ñ=Ô=Ð=õ 	•r˜!‘u”u�b ™eœe�nÐ% v­rÑ2Ô2€AÝ•r˜!‘u”u�g�Y ­Ñ+Ô+€AÝ
ÕÐ 5Ð 5Ð 5Ð 5Ð 5Ñ6Ô6Ð6õ 	•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�g¥ 1¡¤˜wÐ'¨µÑ4Ô4€AÝ
�;Ð-Ð-Ð-Ð-Ð-Ñ.Ô.Ð.õ 	•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�nÐ% v­rÑ2Ô2€AÝ
�<Ð.Ð.Ð.Ð.Ð.Ñ/Ô/Ð/Ð/Ð/r+   c                  ól	  ‡— t          g dt          ¦  «        } t          d¦  «        g}|                      ¦   «         |k    sJ ‚|                      ¦   «                              ¦   «         |k    sJ ‚t          dggdt          ¦  «        } t          d¦  «        t          d¦  «        g}|                      ¦   «         |k    sJ ‚|                      ¦   «                              ¦   «         |k    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        } t          d¦  «        t          d	¦  «        t          d
¦  «        g}|                      ¦   «         |k    sJ ‚|                      ¦   «                              ¦   «         |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 ‚|                      ¦   «                              ¦   «         |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 ‚|                      ¦   «                              ¦   «         |k    sJ ‚t	          g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g
t          ¦  «        } t          j        g d¢¦  «        }|                      ¦   «         |k    sJ ‚|                      ¦   «                              ¦   «         |k    sJ ‚t          t          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          ˆfd„¦  «         d S )NrË   r   r6   r  r   r   r    r!   éûÿÿÿr  rL   rê   rK   rò   r  rr  r  r  r   )
é   r   rM  r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )
éE   r   r   r   r   éV   r   r   r   r   )
é   r   r   r   r   r   r   r   r   r   )
r   r   r   é   r   r   r   r   r   r   )
r   r   r   r   r   r   r   é    r   r   )
r   r   r   r   r8  éC   r   r   r   r   )r   iïÿÿÿiê÷ÿÿr   i¤:ôÿr   r   r   r   r   r   rM   c                  ó,   •— ‰                       ¦   «         S rF   )rÍ  rª  s   €r)   r1   z,test_DomainMatrix_charpoly.<locals>.<lambda>X  s   ø€ ¨3¯<ª<©>¬>€ r+   )	r   r   rÍ  rž   r   Úmapr   r   r   )r(   r½  r«  s     @r)   Útest_DomainMatrix_charpolyr3  -  s  ø€ Ý�R˜¥Ñ$Ô$€AÝ	ˆA‰Œˆ€AØ�:Š:‰<Œ<˜1ÒÐÐÐØ�;Š;‰=Œ=×!Ò!Ñ#Ô# qÒ(Ð(Ð(Ð(å�q�c�U˜F¥BÑ'Ô'€AÝ	ˆA‰Œ•�2‘”ˆ€AØ�:Š:‰<Œ<˜1ÒÐÐÐØ�;Š;‰=Œ=×!Ò!Ñ#Ô# qÒ(Ð(Ð(Ð(å•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ	ˆA‰Œ•�2‘”�˜2™œÐ€AØ�:Š:‰<Œ<˜1ÒÐÐÐØ�;Š;‰=Œ=×!Ò!Ñ#Ô# qÒ(Ð(Ð(Ð(å•r˜!‘u”u�b ™eœe¥R¨¡U¤UÐ+­b°©e¬eµR¸±U´U½B¸q¹E¼EÐ-BÅRÈÁUÄUÍBÈqÉEÌEÕSUÐVWÑSXÔSXÐDYÐZÐ\bÕdfÑgÔg€AÝ	ˆA‰Œ•�3‘”�˜C™œ¥" Q¡%¤%Ð(€AØ�:Š:‰<Œ<˜1ÒÐÐÐØ�;Š;‰=Œ=×!Ò!Ñ#Ô# qÒ(Ð(Ð(Ð(å•r˜!‘u”u�b ™eœe¥R¨¡U¤UÐ+Ý˜!‘u”u�b ™eœe¥R¨¡U¤UÐ+Ý˜!‘u”u�b ™eœe¥R¨¡U¤UÐ+ð-à.4µbñ	:ô 	:€Aõ 
ˆA‰Œ•�1‘”•r˜"‘v”v�r !™uœuÐ%€AØ�:Š:‰<Œ<˜1ÒÐÐÐØ�;Š;‰=Œ=×!Ò!Ñ#Ô# qÒ(Ð(Ð(Ð(å
Ð0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0ð	2õ 46ñ		7ô 		7€Aõ 	ŒÐ<Ð<Ð<Ñ=Ô=€AØ�:Š:‰<Œ<˜1ÒÐÐÐØ�;Š;‰=Œ=×!Ò!Ñ#Ô# qÒ(Ð(Ð(Ð(å
�˜A™œ¥ 1¡¤˜Ð'¨µÑ
4Ô
4€CÝ
Õ!Ð#9Ð#9Ð#9Ð#9Ñ:Ô:Ð:Ð:Ð:r+   c                  óÒ  — t          g dt          ¦  «        } |                      ¦   «         g k    sJ ‚t          dggt          ¦  «        } |                      ¦   «         t          d¦  «        t          d¦  «        gdfgk    sJ ‚t          ddgddggt          ¦  «        } |                      ¦   «         t          d¦  «        t          d¦  «        t          d¦  «        gdfgk    sJ ‚t          g d	¢g d
¢g d¢gt          ¦  «        } |                      ¦   «         t          d¦  «        t          d¦  «        gdft          d¦  «        t          d¦  «        t          d¦  «        gdfgk    sJ ‚d S )NrË   r   r  r   r   r    r)  r  )r   r   r   )r   r    r   )r   r   r   )r   r   Úcharpoly_factor_listr   rH   s    r)   Ú&test_DomainMatrix_charpoly_factor_listr6  [  sw  € Ý�R˜¥Ñ$Ô$€AØ×!Ò!Ñ#Ô# rÒ)Ð)Ð)Ð)å
ˆQˆCˆ5•"‰Œ€AØ×!Ò!Ñ#Ô#Ý
ˆQ‰%Œ%•�B‘”ˆ˜!Ðð(ò ð ð ð õ 	ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AØ×!Ò!Ñ#Ô#Ý
ˆQ‰%Œ%•�B‘”�˜B™œÐ	  !Ð$ð(ò ð ð ð õ 	ˆIˆIˆI�y�y�y ) ) )Ð,­bÑ1Ô1€AØ×!Ò!Ñ#Ô#Ý
ˆQ‰%Œ%•�B‘”ˆ˜!ÐÝ
ˆQ‰%Œ%•�B‘”�˜B™œÐ	  !Ð$ð(ò ð ð ð ð ð r+   c                  óÂ   — t          j        dt          ¦  «        } | j        t	          j        dt          ¦  «        k    sJ ‚| j        dk    sJ ‚| j        t          k    sJ ‚d S )Nr   rr  )r   rE  r   r#   r   r%   r&   rH   s    r)   Útest_DomainMatrix_eyer8  p  sY   € ÝÔ˜�BÑÔ€AØŒ5•C”G˜F¥BÑ'Ô'Ò'Ð'Ð'Ð'ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r+   c                  óÂ   — t          j        dt          ¦  «        } | j        t	          j        dt          ¦  «        k    sJ ‚| j        dk    sJ ‚| j        t          k    sJ ‚d S )NrM   )r   r0  r   r#   r   r%   r&   rH   s    r)   Útest_DomainMatrix_zerosr:  w  sY   € ÝÔ˜6¥2Ñ&Ô&€AØŒ5•C”I˜f¥bÑ)Ô)Ò)Ð)Ð)Ð)ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r+   c                  óH  — t          j        dt          ¦  «        } t          dk    r&| j        t          j        dt          ¦  «        k    sJ ‚n7| j        t          j        dt          ¦  «                             ¦   «         k    sJ ‚| j        dk    sJ ‚| j	        t          k    sJ ‚d S )Nr¾   r"   )
r   Úonesr   r   r#   r   r   r$   r%   r&   rH   s    r)   Útest_DomainMatrix_onesr=  ~  s’   € ÝÔ˜&¥"Ñ%Ô%€AÝ�wÒÐØŒu�œ ­Ñ,Ô,Ò,Ð,Ð,Ð,Ð,àŒu�œ ­Ñ,Ô,×3Ò3Ñ5Ô5Ò5Ð5Ð5Ð5ØŒ7�fÒÐÐÐØŒ8•rŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r+   c                  óÔ  — t          dt          d¦  «        idt          d¦  «        idœdt          ¦  «        } t          j        t          d¦  «        t          d¦  «        gt          ¦  «        | k    sJ ‚t          dt          d¦  «        idt          d¦  «        idœdt          ¦  «        } t          j        t          d¦  «        t          d¦  «        gt          d¦  «        | k    sJ ‚d S )Nr   r   r   r   r-   r!   )r   r    )r   r   ÚdiagrH   s    r)   Útest_DomainMatrix_diagr@  ˆ  sÀ   € Ý˜�2˜a™5œ5˜	 a­¨1©¬ YÐ/Ð/°½Ñ<Ô<€AÝÔ�b ™eœe¥R¨¡U¤U˜^­RÑ0Ô0°AÒ5Ð5Ð5Ð5å˜�2˜a™5œ5˜	 a­¨1©¬ YÐ/Ð/°½Ñ<Ô<€AÝÔ�b ™eœe¥R¨¡U¤U˜^­R°Ñ8Ô8¸AÒ=Ð=Ð=Ð=Ð=Ð=r+   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          ¦  «        }t          t          d
¦  «        t          d¦  «        g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gdt          ¦  «        }t          t          d¦  «        t          d¦  «        t          d¦  «        t          d¦  «        t          d
¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        t          d¦  «        t          d	¦  «        t          d¦  «        t          d¦  «        ggdt          ¦  «        }|                      |¦  «        |k    sJ ‚|                      ||¦  «        |k    sJ ‚d S )Nr   r   r   r    r!   rL   rê   rK   rò   r  r%  é   rO  ©r   r    )r   rê   )r   r   Úhstack©r(   rk   rl   ÚABÚABCs        r)   Útest_DomainMatrix_hstackrH  �  sË  € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™fœf�o­¨2©¬µ°2±´Ð'7Ð8¸&Å"ÑEÔE€Aå	Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœeÐ$ð&à'-­rñ
3ô 
3€Bõ Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœe¥R¨¡U¤U­B¨r©F¬FÐ3Ý	ˆA‰Œ•�1‘”•r˜!‘u”u�b ™eœe¥R¨¡V¤V­R°©V¬VÐ4ð6à7=½rñCô C€Cð �8Š8�A‰;Œ;˜"ÒÐÐÐØ�8Š8�A�q‰>Œ>˜SÒ Ð Ð Ð Ð Ð r+   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          ¦  «        }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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t          d¦  «        t          d	¦  «        gt          d
¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }|                      |¦  «        |k    sJ ‚|                      ||¦  «        |k    sJ ‚d S )Nr   r   r   r    r!   rL   rê   rK   rò   r  r%  rB  rO  )r    r   )rê   r   )r   r   ÚvstackrE  s        r)   Útest_DomainMatrix_vstackrK  Ÿ  sÜ  € Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ•r˜!‘u”u�b ™fœf�o­¨2©¬µ°2±´Ð'7Ð8¸&Å"ÑEÔE€Aå	Ý	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆð	ð  ¥ñ	
%ô 
%€Bõ
 Ý	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�2‘”ˆÝ	ˆB‰Œ•�B‘”Ððð "¥2ñ'ô '€Cð �8Š8�A‰;Œ;˜"ÒÐÐÐØ�8Š8�A�q‰>Œ>˜SÒ Ð Ð Ð Ð Ð r+   c                  ó
  — t          t          d¦  «        t          d¦  «        ggdt          ¦  «        } t          t          d¦  «        t          d¦  «        ggdt          ¦  «        }|                      d„ ¦  «        |k    sJ ‚d S )Nr   r   rM   r    c                 ó   — d| z  S )Nr   r7   )r   s    r)   r1   z-test_DomainMatrix_applyfunc.<locals>.<lambda>·  s
   €   1¡€ r+   )r   r   Ú	applyfuncrÝ   s     r)   Útest_DomainMatrix_applyfuncrO  ´  so   € Ý•r˜!‘u”u�b ™eœe�nÐ% v­rÑ2Ô2€AÝ•r˜!‘u”u�b ™eœe�nÐ% v­rÑ2Ô2€AØ�;Š;�}�}Ñ%Ô%¨Ò*Ð*Ð*Ð*Ð*Ð*r+   c                  ó*  ‡— t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Št          t          d¦  «        t          d¦  «        z  t          ¦  «        } ‰| z  t          t          dd¦  «        t          d¦  «        gt          dd¦  «        t          d¦  «        ggdt          ¦  «        k    sJ ‚‰dz  t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        k    sJ ‚d‰z  t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        k    sJ ‚‰t          t          d	¦  «        t          ¦  «        z  t          i dt          ¦  «        k    sJ ‚‰t          t          d¦  «        t          ¦  «        z  ‰k    sJ ‚t	          t
          ˆfd
„¦  «         d S )Nr   r   r   r    r!   r  rê   rò   r   c                  ó   •— ‰ dz  S ©Ng      ø?r7   rH   s   €r)   r1   z-test_DomainMatrix_scalarmul.<locals>.<lambda>Ã  ó   ø€ ˜a #™g€ r+   )r   r   r   r   r   r@   )Úlamdar(   s    @r)   Útest_DomainMatrix_scalarmulrU  º  s¥  ø€ Ý•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AÝ�˜A™œ�r !™uœu™¥bÑ)Ô)€EØˆu‰9�¥r¨!¨Q¡x¤xµ°A±´Ð&7½"¸QÀ¹(¼(ÅBÀqÁEÄEÐ9JÐ%KÈVÕUWÑXÔXÒXÐXÐXÐXØˆq‰5•L¥2 a¡5¤5­"¨Q©%¬% .µ2°a±5´5½"¸Q¹%¼%°.Ð!AÀ6Í2ÑNÔNÒNÐNÐNÐNØˆq‰5•L¥2 a¡5¤5­"¨Q©%¬% .µ2°a±5´5½"¸Q¹%¼%°.Ð!AÀ6Í2ÑNÔNÒNÐNÐNÐNØ�|�B˜q™EœE¥2Ñ&Ô&Ñ&­,°r¸6Å2Ñ*FÔ*FÒFÐFÐFÐFØ�|�B˜q™EœE¥2Ñ&Ô&Ñ&¨!Ò+Ð+Ð+Ð+å
�9�o�o�o�oÑ&Ô&Ð&Ð&Ð&r+   c            	      óž  ‡— t          j        t          ddgddgg¦  «        ¦  «        Št          t	          d¦  «        t	          d¦  «        z  t          ¦  «        } ‰| z  t          t	          dd¦  «        t	          dd¦  «        dœt	          d¦  «        t	          dd¦  «        dœdœdt          ¦  «        k    sJ ‚t          t          d¦  «        t
          ¦  «        }‰|z  t          t	          d¦  «        t	          d¦  «        dœt	          d¦  «        t	          d¦  «        dœdœdt          ¦  «        k    sJ ‚‰dz  t          t	          d¦  «        t	          d¦  «        dœt	          d¦  «        t	          d¦  «        dœdœdt          ¦  «        k    sJ ‚‰dz  t          t	          dd¦  «        t	          d¦  «        dœt	          dd¦  «        t	          d¦  «        dœdœdt          ¦  «        k    sJ ‚t          t          ˆfd„¦  «         t          t          ˆfd	„¦  «         t          t          ˆfd
„¦  «         t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt
          ¦  «        Š‰ 	                    ¦   «         dz  t          t	          dd¦  «        t	          d¦  «        gt	          dd¦  «        t	          d¦  «        ggdt          ¦  «        k    sJ ‚‰dz  t          t	          dd¦  «        t	          d¦  «        gt	          dd¦  «        t	          d¦  «        ggdt          ¦  «        k    sJ ‚‰ 	                    ¦   «         t	          dd¦  «        z  t          t	          dd¦  «        t	          d¦  «        gt	          dd¦  «        t	          d¦  «        ggdt          ¦  «        k    sJ ‚d S )Nr   r   r   r    r-   rò   r!   c                  ó   •— ‰ dz  S ra  r7   rH   s   €r)   r1   z+test_DomainMatrix_truediv.<locals>.<lambda>Ð  s   ø€  a¨!¡e€ r+   c                  ó   •— ‰ dz  S rR  r7   rH   s   €r)   r1   z+test_DomainMatrix_truediv.<locals>.<lambda>Ñ  rS  r+   c                  óN   •— ‰ t          t          d¦  «        t          ¦  «        z  S ra  )r   r   rH   s   €r)   r1   z+test_DomainMatrix_truediv.<locals>.<lambda>Ò  s   ø€  a­,µr¸!±u´u½bÑ*AÔ*AÑ&A€ r+   r  rê   )
r   rf   r   r   r   r   r   rc  r@   r›   )rT  r£  r(   s     @r)   Útest_DomainMatrix_truedivrZ  Æ  sF  ø€ ÝÔ ¥¨!¨Q¨°!°Q°Ð(8Ñ!9Ô!9Ñ:Ô:€AÝ�˜A™œ�r !™uœu™¥bÑ)Ô)€EØˆu‰9�­R°°1©X¬X½"¸QÀ¹(¼(Ð)CÐ)CÍBÈqÉEÌEÕVXÐYZÐ\]ÑV^ÔV^ÐH_ÐH_Ð%`Ð%`ÐbhÕjlÑmÔmÒmÐmÐmÐmÝ•R˜‘U”U�BÑÔ€AØˆq‰5•L­¨A©¬µ2°a±5´5Ð%9Ð%9Å"ÀQÁ%Ä%ÍBÈqÉEÌEÐ>RÐ>RÐ!SÐ!SÐU[Õ]_Ñ`Ô`Ò`Ð`Ð`Ð`àˆq‰5•L­¨A©¬µ2°a±5´5Ð%9Ð%9Å"ÀQÁ%Ä%ÍBÈqÉEÌEÐ>RÐ>RÐ!SÐ!SÐU[Õ]_Ñ`Ô`Ò`Ð`Ð`Ð`Øˆq‰5•L­¨A¨q©¬µb¸±e´eÐ%<Ð%<ÅRÈÈ1ÁXÄXÕRTÐUVÑRWÔRWÐAXÐAXÐ!YÐ!YÐ[aÕceÑfÔfÒfÐfÐfÐfå
Õ˜m˜m˜m˜mÑ,Ô,Ð,Ý
�9�o�o�o�oÑ&Ô&Ð&Ý
ÕÐAÐAÐAÐAÑBÔBÐBå•r˜!‘u”u�b ™eœe�n¥r¨!¡u¤u­b°©e¬e nÐ5°v½rÑBÔB€AØ�:Š:‰<Œ<˜!Ñ�|­b°°A©h¬h½¸1¹¼Ð->ÅÀAÀqÁÄÍ2ÈaÉ5Ì5Ð@QÐ,RÐTZÕ\^Ñ_Ô_Ò_Ð_Ð_Ð_Øˆq‰5•L¥2 a¨¡8¤8­R°©U¬UÐ"3µb¸¸A±h´hÅÀ1ÁÄÐ5FÐ!GÈÕQSÑTÔTÒTÐTÐTÐTØ�:Š:‰<Œ<�"˜Q˜q™'œ'Ñ!¥\µB°q¸!±H´H½bÀ¹e¼eÐ3DÅrÈ!ÈQÁxÄxÕQSÐTUÑQVÔQVÐFWÐ2XÐZ`ÕbdÑ%eÔ%eÒeÐeÐeÐeÐeÐer+   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 …d d…f         t          t          d¦  «        gt          d¦  «        ggdt          ¦  «        k    sJ ‚‰ dd d…f         t          t          d¦  «        ggdt          ¦  «        k    sJ ‚‰ d d…d d…f         t          t          d¦  «        ggdt          ¦  «        k    sJ ‚‰ d d…dd…f         t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        k    sJ ‚‰ d d …df         t          t          d¦  «        gt          d¦  «        gt          d	¦  «        ggdt          ¦  «        k    sJ ‚‰ dd d …f         t          t          d¦  «        t          d¦  «        t          d	¦  «        ggdt          ¦  «        k    sJ ‚‰ d d d…d d …f         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          ¦  «        k    sJ ‚t          t          ˆ fd„¦  «         t          t          ˆ fd„¦  «         ‰ d         t	          t          d¦  «        t          ¦  «        k    sJ ‚‰ d         t	          t          d¦  «        t          ¦  «        k    sJ ‚‰ d         t	          t          d¦  «        t          ¦  «        k    sJ ‚‰ d         t	          t          d¦  «        t          ¦  «        k    sJ ‚t          t          ˆ fd„¦  «         t          t          ˆ fd„¦  «         t          t          ˆ fd„¦  «         t          ddt          d¦  «        iidt          ¦  «        Š ‰ d         t	          t          d¦  «        t          ¦  «        k    sJ ‚‰ d         t	          t          d¦  «        t          ¦  «        k    sJ ‚t          dddiidt          ¦  «        Š ‰ dd …df         t          dddiidt          ¦  «        k    sJ ‚t          t          ˆ fd„¦  «         t          dt          d¦  «        idt          d¦  «        id œdt          ¦  «        Š ‰ d d…d d…f         t          i dt          ¦  «        k    sJ ‚‰ dd …dd …f         t          ddiddid!œd
t          ¦  «        k    sJ ‚‰ dd …dd …f         t          dddiidt          ¦  «        k    sJ ‚‰ dd …dd …f         t          i d"t          ¦  «        k    sJ ‚d S )#Nr   r   r   r    rL   rê   rK   rò   r  rr  r  rB  r6   r  r   r!   rN   rJ  c                  ó   •— ‰ dd d…f         S )Nr    r  r7   ©r¼  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>ë  s   ø€ ˜r ! S b S &œz€ r+   c                  ó   •— ‰ d d…df         S )Nr  r    r7   r]  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>ì  s   ø€ ˜r # 2 # q &œz€ r+   rM   )r  r   )r   r  )r  r   c                  ó   •— ‰ d         S )Nrr  r7   r]  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>ó  ó   ø€ ˜r $œx€ r+   c                  ó   •— ‰ d         S )NrO   r7   r]  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>ô  r`  r+   c                  ó   •— ‰ d         S )N)r  r  r7   r]  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>õ  s   ø€ ˜r &œz€ r+   )r%  r%  ©rL   rL   rË   c                  ó   •— ‰ d         S )N©r   r   r7   r]  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>ý  r`  r+   rC  )r   r   re  )r   r   r   Ú
IndexErrorr   r]  s   @r)   Útest_DomainMatrix_getitemrg  Ú  s  ø€ Ý	Ý	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐðð !'­ñ
,ô 
,€Bð
 ˆaˆbˆb��"�ˆfŒ:�­¨1©¬ wµ°A±´°Ð&8¸&Å"ÑEÔEÒEÐEÐEÐEØˆa���ˆeŒ9�¥r¨!¡u¤u g Y°½Ñ;Ô;Ò;Ð;Ð;Ð;Øˆcˆrˆc�#�2�#ˆgŒ;�,­¨A©¬¨ y°&½"Ñ=Ô=Ò=Ð=Ð=Ð=Øˆcˆrˆc�!�A�#ˆgŒ;�,­¨A©¬µ°1±´¨½¸A¹¼ÅÀ1ÁÄ¸Ð'GÈÕQSÑTÔTÒTÐTÐTÐTØˆaˆaˆa�ˆeŒ9�¥r¨!¡u¤u gµ°1±´¨w½¸A¹¼¸Ð%@À&Í"ÑMÔMÒMÐMÐMÐMØˆb�!�!�!ˆeŒ9�¥r¨!¡u¤u­b°©e¬eµR¸±U´UÐ&;Ð%<¸fÅbÑIÔIÒIÐIÐIÐIØˆdˆd�ˆd�A�A�AˆgŒ;�,Ý ™UœU¥B q¡E¤E­2¨a©5¬5Ð1Ý ™UœU¥B q¡E¤E­2¨a©5¬5Ð1Ý ™UœU¥B q¡E¤E­2¨a©5¬5Ð1ð(3ð 5;½Bñ@ô @ò @ð @ð @ð @õ
 �:Ð)Ð)Ð)Ð)Ñ*Ô*Ð*Ý
�:Ð)Ð)Ð)Ð)Ñ*Ô*Ð*àˆdŒ8•|¥B q¡E¤E­2Ñ.Ô.Ò.Ð.Ð.Ð.ØˆeŒ9�¥R¨¡U¤U­BÑ/Ô/Ò/Ð/Ð/Ð/ØˆeŒ9�¥R¨¡U¤U­BÑ/Ô/Ò/Ð/Ð/Ð/ØˆfŒ:�¥b¨¡e¤e­RÑ0Ô0Ò0Ð0Ð0Ð0å
�:Ð'Ð'Ð'Ð'Ñ(Ô(Ð(Ý
�:Ð'Ð'Ð'Ð'Ñ(Ô(Ð(Ý
�:Ð)Ð)Ð)Ð)Ñ*Ô*Ð*å	�q˜1�b ™eœe˜*�o xµÑ	4Ô	4€BØˆdŒ8•|¥B q¡E¤E­2Ñ.Ô.Ò.Ð.Ð.Ð.ØˆdŒ8•|¥B q¡E¤E­2Ñ.Ô.Ò.Ð.Ð.Ð.å	�q˜1˜a˜&�k 5­"Ñ	-Ô	-€BØˆaˆbˆb�!ˆeŒ9� a¨!¨Q¨ [°&½"Ñ=Ô=Ò=Ð=Ð=Ð=Ý
�:Ð'Ð'Ð'Ð'Ñ(Ô(Ð(å	˜1�b ™eœe˜*¨!­R°©U¬U¨Ð4Ð4°f½bÑ	AÔ	A€BØˆbˆqˆb��!�ˆeŒ9� R¨µÑ4Ô4Ò4Ð4Ð4Ð4Øˆaˆbˆb���ˆeŒ9�¨!¨Q¨°Q¸°FÐ%;Ð%;¸VÅRÑHÔHÒHÐHÐHÐHØˆaˆbˆb���ˆeŒ9� a¨!¨Q¨ [°&½"Ñ=Ô=Ò=Ð=Ð=Ð=Øˆaˆbˆb�!�"�"ˆfŒ:� b¨&µ"Ñ5Ô5Ò5Ð5Ð5Ð5Ð5Ð5r+   c                  ó&  — t          dt          d¦  «        idt          d¦  «        idœdt          ¦  «        } |                      dd¦  «        }|t          j        u sJ ‚|                      dd¦  «        }|dk    rt          |t          ¦  «        sJ ‚d S )Nr   r    r   rC  rc  r   )r   r   Úgetitem_sympyr   ÚZeroÚ
isinstancer   )r¼  Úval1Úval2s      r)   Útest_DomainMatrix_getitem_sympyrn    s‡   € Ý	˜1�b ™eœe˜*¨!­R°©U¬U¨Ð4Ð4°f½bÑ	AÔ	A€BØ×Ò˜A˜qÑ!Ô!€DØ•1”6ˆ>ˆ>ˆ>ˆ>Ø×Ò˜A˜qÑ!Ô!€DØ�1Š9ˆ9� D­'Ñ2Ô2ˆ9ˆ9ˆ9ˆ9ˆ9r+   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          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 ‚|                      ddgddg¦  «        |k    sJ ‚|                      ¦   «                              ddgd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          ¦  «        }|                      g d¢g d¢¦  «        |k    sJ ‚|                      ¦   «                              g d¢g d¢¦  «        |                     ¦   «         k    sJ ‚g g dfdgg dfg dgdfg}|D ]’\  ŠŠ}|                      ‰‰¦  «        t          j        |t          ¦  «                             ¦   «         k    sJ ‚|                      ¦   «                              ‰‰¦  «        t          j        |t          ¦  «        k    sJ ‚Œ“t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        Šdgdgfdgdgfdgdgfdgdgfg}|D ]9\  ŠŠt          t          ˆˆˆfd„¦  «         t          t          ˆˆˆfd„¦  «         Œ:d S )Nr   r   r   r    rL   rê   rK   rò   r  rr  r!   r   r  )r   r   r   rË   rÌ   r-   r   c                  ó0   •— ‰                      ‰‰ ¦  «        S rF   )Úextract©Úcolsr¼  r  s   €€€r)   r1   z+test_DomainMatrix_extract.<locals>.<lambda>.  s   ø€  2§:¢:¨d°DÑ#9Ô#9€ r+   c                  óT   •— ‰                      ¦   «                              ‰‰ ¦  «        S rF   )rž   rq  rr  s   €€€r)   r1   z+test_DomainMatrix_extract.<locals>.<lambda>/  s   ø€  2§<¢<¡>¤>×#9Ò#9¸$ÀÑ#EÔ#E€ r+   )r   r   rq  rž   r0  r¢   r   rf  )	rÆ  r»  ÚdM3ÚemptyÚsizeÚbad_indicesrs  r¼  r  s	         @@@r)   Útest_DomainMatrix_extractry    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 q 6¨A¨q¨6Ñ2Ô2°c·m²m±o´oÒEÐEÐEÐEØ�;Š;˜˜2�w  B Ñ(Ô(¨CÒ/Ð/Ð/Ð/Ø�=Š=‰?Œ?×"Ò" A r 7¨Q°¨GÑ4Ô4¸¿º¹¼ÒGÐGÐGÐGå
Ý	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐðð !'­ñ,ô ,€Cð �;Š;�y�y�y ) ) )Ñ,Ô,°Ò3Ð3Ð3Ð3Ø�=Š=‰?Œ?×"Ò" 9 9 9¨i¨i¨iÑ8Ô8¸C¿MºM¹O¼OÒKÐKÐKÐKð 
ˆR�ÐØ
ˆˆb�&ÐØ	ˆaˆS�&Ðð€Eð
 "ð Sð SÑˆˆd�DØ�{Š{˜4 Ñ&Ô&­,Ô*<¸TÅ2Ñ*FÔ*F×*OÒ*OÑ*QÔ*QÒQÐQÐQÐQØ�}Š}‰Œ×&Ò& t¨TÑ2Ô2µlÔ6HÈÍrÑ6RÔ6RÒRÐRÐRÐRÐRå	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BØ�C˜!˜�:   a S˜z¨R¨D°1°#¨;¸!¸¸r¸d¸ÐD€KØ!ð Gð G‰
ˆˆdÝ�zÐ9Ð9Ð9Ð9Ð9Ð9Ñ:Ô:Ð:Ý�zÐEÐEÐEÐEÐEÐEÑFÔFÐFÐFðGð Gr+   c                  ó€  ‡ ‡— t          dt          d¦  «        idt          d¦  «        idœdt          ¦  «        Š t          d¦  «        ‰ d<   ‰ t          dt          d¦  «        idt          d¦  «        idœdt          ¦  «        k    sJ ‚ˆ fd„Št          t          ˆfd„¦  «         t          t          ˆfd	„¦  «         d S )
Nr   r   r    rC  rc  r!   c                 ó   •— |‰| |f<   d S rF   r7   )ÚiÚjÚvalr¼  s      €r)   Úsetitemz*test_DomainMatrix_setitem.<locals>.setitem6  s   ø€ Øˆˆ1ˆaˆ4‰ˆˆr+   c                  ó:   •—  ‰ ddt          dd¦  «        ¦  «        S )Nr   r   r…   ©r  s   €r)   r1   z+test_DomainMatrix_setitem.<locals>.<lambda>8  s   ø€ ˜g˜g a¨­B¨q°!©H¬HÑ5Ô5€ r+   c                  óT   •—  ‰ t          dd¦  «        dt          d¦  «        ¦  «        S r=  )Úslicer   r�  s   €r)   r1   z+test_DomainMatrix_setitem.<locals>.<lambda>9  s#   ø€ ¨¨µ°a¸±´¸QÅÀ1ÁÄÑ(FÔ(F€ r+   )r   r   r   r@   rF  )r¼  r  s   @@r)   Útest_DomainMatrix_setitemr„  2  sÍ   øø€ Ý	˜1�b ™eœe˜*¨!­R°©U¬U¨Ð4Ð4°f½bÑ	AÔ	A€BÝ�!‰uŒu€B€t�HØ• 1¥b¨¡e¤e *°!µR¸±U´U°Ð<Ð<¸fÅbÑIÔIÒIÐIÐIÐIðð ð ð ð å
�9Ð5Ð5Ð5Ð5Ñ6Ô6Ð6Ý
ÕÐ FÐ FÐ FÐ FÑGÔGÐGÐGÐGr+   c                  óÔ  — dd l } t          dt          d¦  «        idt          d¦  «        idœdt          ¦  «        }|                      |                      |¦  «        ¦  «        |k    sJ ‚t          t          d¦  «        t          d¦  «        gt          d¦  «        t          d¦  «        ggdt          ¦  «        }|                      |                      |¦  «        ¦  «        |k    sJ ‚d S )	Nr   r   r   r    rC  rc  r   r!   )Úpickler   r   ÚloadsÚdumps)r†  r¼  s     r)   Útest_DomainMatrix_picklingr‰  <  sÆ   € Ø€M€M€MÝ	˜1�b ™eœe˜*¨!­R°©U¬U¨Ð4Ð4°f½bÑ	AÔ	A€BØ�<Š<˜Ÿš RÑ(Ô(Ñ)Ô)¨RÒ/Ð/Ð/Ð/Ý	�˜1™œ�r !™uœu�~­¨1©¬­r°!©u¬u ~Ð6¸ÅÑ	CÔ	C€BØ�<Š<˜Ÿš RÑ(Ô(Ñ)Ô)¨RÒ/Ð/Ð/Ð/Ð/Ð/r+   N)uÚsympy.external.gmpyr   Úsympyr   r   r   r   r   r	   r
   r   r   r   r   Ú!sympy.polys.matrices.domainmatrixr   r   r   Úsympy.polys.matrices.exceptionsr   r   r   r   r   r   r   Úsympy.polys.matrices.ddmr   Úsympy.polys.matrices.sdmr   Úsympy.testing.pytestr   r*   rC   rI   rR   rZ   rd   rg   rm   rs   rw   r|   r‚   r–   r™   rœ   r    r¤   r¯   r³   r¶   r¹   r¼   rÁ   rÄ   rÉ   rÐ   rÓ   rÖ   rÚ   rÞ   rá   rå   rè   rí   rð   rô   r  r  r#  r3  r6  rH  rV  r^  rd  rj  rp  ru  r‰  rŽ  r’  r›  r¥  r°  r´  r¿  rË  rà  râ  rè  rï  rû  rÿ  r  r  r  r  r  r'  r3  r6  r8  r:  r=  r@  rH  rK  rO  rU  rZ  rg  rn  ry  r„  r‰  r7   r+   r)   ú<module>r‘     sp  ðØ ,Ð ,Ð ,Ð ,Ð ,Ð ,à =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ Lðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (Ø (Ð (Ð (Ð (Ð (Ð (à 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð!Pð !Pð !PðH8ð 8ð 8ð$ð ð ð8ð ð ð2
Ið 
Ið 
Iðð ð ð@ð ð ð#ð #ð #ðð ð ðLð Lð LðMð Mð Mð
=ð 
=ð 
=ð/ð /ð /ð
Lð Lð Lð>ð >ð >ð+ð +ð +ð<ð <ð <ð2Mð Mð Mð;ð ;ð ;ð
<ð <ð <ð
4ð 4ð 4ð
Bð Bð Bð8ð 8ð 8ð:ð :ð :ð	*ð 	*ð 	*ð=ð =ð =ðCð Cð Cð
ð ð ð$ð $ð $ðð ð ðð ð ð?ð ?ð ?ð ð  ð  ðFð Fð Fðð ð ð
".ð ".ð ".ðJ!ð !ð !ðH!ð !ð !ð$Hð $Hð $HðN%ð %ð %ð3ð 3ð 3ð$
ð 
ð 
ð0ð 0ð 0ð.=ð =ð =ð"	Ið 	Ið 	Ið5ð 5ð 5ð4ð 4ð 4ð':ð ':ð ':ðT
#ð 
#ð 
#ðð ð ðNð Nð Nð,.ð .ð .ð<ð <ð <ð$ð ð ð.	Cð 	Cð 	CðAð Að Að Wð Wð Wð8(ð (ð (ð.<ð <ð <ðBð Bð BðDð Dð Dð0Dð Dð Dð=ð =ð =ð(ð (ð (ð"ð "ð "ð)ð )ð )ð5(ð 5(ð 5(ðp.0ð .0ð .0ðb+;ð +;ð +;ð\ð ð ð*ð ð ðð ð ðð ð ð>ð >ð >ð!ð !ð !ð!ð !ð !ð*+ð +ð +ð	'ð 	'ð 	'ðfð fð fð()6ð )6ð )6ðX3ð 3ð 3ð!Gð !Gð !GðHHð Hð Hð0ð 0ð 0ð 0ð 0r+   