§
    OŠtjVÃ  ã                   ó®  — 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^„ Zud_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     új/var/www/html/CA-Chatbot/venv/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„ ‰D ¦   «         }t          d¦  «        |d<   |‰k    sJ ‚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+   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r7   )Úcopy)Ú.0Úis     r)   ú
<listcomp>z*test_DomainMatrix_init.<locals>.<listcomp>@   s    € Ð
!Ð
!Ð
!˜ˆ1�6Š6‰8Œ8Ð
!Ð
!Ð
!r+   é*   ©r   r   )r   r   r   r   r   r#   r$   r%   r&   r   Ú	TypeErrorÚ
ValueErrorr   )Údodr(   r;   r#   Úwasr'   r>   r4   s        @@@r)   Útest_DomainMatrix_initrK      si  øøø€ Ýˆ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ð "Ð
!˜SÐ
!Ñ
!Ô
!€CÝ�‰VŒV€A€c�FØ�#Š:ˆ:ˆ:ˆ:ˆ:ˆ:r+   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>T   s   ø€ �lÔ3°AÑ6Ô6€ r+   )
r   r   r   rO   r#   r%   r&   r   r   rG   )r'   r4   r(   s     @r)   Útest_DomainMatrix_from_reprQ   E   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                  ó  — 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|¦  «        }t          dk    r|j        | k    sJ ‚n|j        |                      ¦   «         k    sJ ‚|j        dk    sJ ‚|j        |k    sJ ‚t          ddz  dz
  ¦  «        }t           |d¦  «         |d¦  «        g |d¦  «         |d¦  «        ggd|¦  «        } t          j        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        |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    )rU   r   )r   r   r   Ú	from_listr   r#   r$   r%   r&   r
   r   )r'   r(   Údoms      r)   Útest_DomainMatrix_from_listr[   W   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Ý�wÒÐØŒu˜Š|ˆ|ˆ|ˆ|ˆ|àŒu˜Ÿ
š
™œÒ$Ð$Ð$Ð$ØŒ7�fÒÐÐÐØŒ8�sŠ?ˆ?ˆ?ˆ?å
ˆQ�‰V�A‰X‰,Œ,€CÝ
���A‘”˜˜˜A™œÐ # # a¡&¤&¨#¨#¨a©&¬&Ð!1Ð2°F¸CÑ
@Ô
@€CÝÔ  A ¨¨A¨Ð/°Ñ5Ô5€AÝ�wÒÐØŒu˜Š|ˆ|ˆ|ˆ|ˆ|àŒu˜Ÿ
š
™œÒ$Ð$Ð$Ð$ØŒ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_sympyrc      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   rf   rg   s   €r)   r1   z3test_DomainMatrix_from_dict_sympy.<locals>.<lambda>¢   ri   r+   )
r   r   r   r   Úfrom_dict_sympyr#   r%   r&   r   r   )r4   Ú
sympy_dictr(   rh   s      @r)   Ú!test_DomainMatrix_from_dict_sympyrm   ˜   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!   Tr]   r   r9   r:   r"   )r   r   r   Úfrom_Matrixr   r#   r%   r&   r   r`   r   ra   r   r   r$   )r4   r(   rb   r'   s       r)   Útest_DomainMatrix_from_Matrixrp   ¥   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_eqrv   Å   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_eqr|   Î   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   )rb   Úitemss     r)   Útest_DomainMatrix_get_domainr€   Ø   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 rr   )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ˆ   rt   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   ©rB   Úes     r)   rD   z0test_DomainMatrix_to_flat_nz.<locals>.<listcomp>ú   s   € Ð'Ð'Ð'˜A•"�Q‘%”%Ð'Ð'Ð'r+   c                 ó   — g | ]}d |z  ‘ŒS )r   r7   r�   s     r)   rD   z0test_DomainMatrix_to_flat_nz.<locals>.<listcomp>ü   s   € Ð%Ð%Ð%˜!�!�A‘#Ð%Ð%Ð%r+   )
r   r   r#   Úto_ddmÚto_sdmÚ
to_flat_nzÚfrom_flat_nzr&   r   r‚   )Ú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 rr   )r   r   Úto_sympyr‚   r   rP   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 rr   )r   r   Úto_fieldr   rƒ   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>1  s   ø€ ˜rŸxšx¨°	˜xÑ:Ô:€ r+   )
r   r   r   r®   r#   r   Úto_dfm_or_ddmr   r   rH   )Ú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 rr   )	r   r   r   Ú	to_Matrixr¥   r‚   r   r`   r   )r(   ÚA_Matrixs     r)   Útest_DomainMatrix_to_Matrixrº   4  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 rr   )r   r   Úto_listrP   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 rr   )r   r   Úto_list_flatrP   s    r)   Útest_DomainMatrix_to_list_flatrÀ   B  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 rr   )r   r   ÚflatrP   s    r)   Útest_DomainMatrix_flatrÃ   G  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È   L  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_dodrP   s    r)   Útest_DomainMatrix_to_dodrË   [  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   r‚   ©r   r(   s     r)   Útest_DomainMatrix_from_dodrÐ   b  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!   )rF   r-   ©r   r   r6   r   ©rF   r6   )r   r   Úto_dokr©   r¥   r#   r’   r“   )r(   Údoks     r)   Útest_DomainMatrix_to_dokrÖ   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¡¤­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Ù   v  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   ÚreprrP   s    r)   Útest_DomainMatrix_reprrÜ   ~  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 rr   )r   r   Ú	transpose)r(   ÚATs     r)   Útest_DomainMatrix_transposerà   ƒ  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(   rt   s     r)   Ú test_DomainMatrix_is_zero_matrixrä   ‰  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!   rU   é   ©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    rU   rð   )r   r   r   )r    rU   rð   )r   r   Údiagonalr¥   rP   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   ÚrankrP   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 rN   r7   ©r(   ÚLs   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>Á  ó   ø€ ˜a !™e€ r+   c                  ó   •— ‰‰ z   S rN   r7   rý   s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>Â  rÿ   r+   rV   c                  ó   •— ‰ ‰z   S rN   r7   ©ÚA1ÚA2s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>Æ  ó   ø€   b¡€ r+   c                  ó   •— ‰‰ z   S rN   r7   r  s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>Ç  r  r+   c                  ó.   •— ‰                       ‰¦  «        S rN   ©Úaddr  s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>È  ó   ø€  §¢¨¡¤€ r+   c                  ó.   •— ‰                      ‰ ¦  «        S rN   r  r  s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>É  r
  r+   c                  ó.   •— ‰                      ‰ ¦  «        S rN   r  ©r„   r³   s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>Ð  ó   ø€  "§&¢&¨¡*¤*€ r+   c                  ó.   •— ‰                       ‰¦  «        S rN   r  r  s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>Ñ  r  r+   r   r-   rU   c                  ó.   •— ‰                      ‰ ¦  «        S rN   r  r¯   s   €€r)   r1   z'test_DomainMatrix_add.<locals>.<lambda>Ü  r  r+   )r   r   r	  r   rG   r   r   r   r#   r   r²   r   )rt   Ú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 rN   r7   rý   s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>æ  rÿ   r+   c                  ó   •— ‰‰ z
  S rN   r7   rý   s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>ç  rÿ   r+   rV   c                  ó   •— ‰ ‰z
  S rN   r7   r  s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>ë  r  r+   c                  ó   •— ‰‰ z
  S rN   r7   r  s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>ì  r  r+   c                  ó.   •— ‰                       ‰¦  «        S rN   ©Úsubr  s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>í  r
  r+   c                  ó.   •— ‰                      ‰ ¦  «        S rN   r  r  s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>î  r
  r+   c                  ó.   •— ‰                      ‰ ¦  «        S rN   r  r  s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>õ  r  r+   c                  ó.   •— ‰                       ‰¦  «        S rN   r  r  s   €€r)   r1   z'test_DomainMatrix_sub.<locals>.<lambda>ö  r  r+   r-   éÿÿÿÿéüÿÿÿ)r   r   r  r   rG   r   r   r   r#   r   r²   )rt   Ú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!   rS   é
   é   é   c                  ó   •— ‰ ‰z  S rN   r7   rý   s   €€r)   r1   z'test_DomainMatrix_mul.<locals>.<lambda>  rÿ   r+   c                  ó   •— ‰‰ z  S rN   r7   rý   s   €€r)   r1   z'test_DomainMatrix_mul.<locals>.<lambda>  rÿ   r+   c                  ó.   •— ‰                      ‰ ¦  «        S rN   ©Úmatmulr  s   €€r)   r1   z'test_DomainMatrix_mul.<locals>.<lambda>  ó   ø€  "§)¢)¨B¡-¤-€ r+   c                  ó.   •— ‰                       ‰¦  «        S rN   r1  r  s   €€r)   r1   z'test_DomainMatrix_mul.<locals>.<lambda>  r3  r+   rð   rø   r   r-   )r   r   r2  r   rG   r   r   ÚmulÚzerosr¥   r#   r   r²   )r  ÚAprodÚAArˆ   r±   r°   r  r  r(   r„   r³   rþ   s           @@@@r)   Útest_DomainMatrix_mulr9  	  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_elementwisers   s      r)   Ú!test_DomainMatrix_mul_elementwiser<  0  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!   rS   r+  r,  r-  é%   é6   éQ   év   r   c                  ó*   •— ‰ t          dd¦  «        z  S ©Nr   r   rf   rP   s   €r)   r1   z'test_DomainMatrix_pow.<locals>.<lambda>B  s   ø€ ˜a¥8¨A¨q¡>¤>Ñ1€ r+   c                  ó   •— ‰ dz  S ©Nr   r7   rP   s   €r)   r1   z'test_DomainMatrix_pow.<locals>.<lambda>C  s   ø€ ¨¨R©€ r+   c                  ó.   •— ‰                       d¦  «        S rE  )ÚpowrP   s   €r)   r1   z'test_DomainMatrix_pow.<locals>.<lambda>D  s   ø€ ¨¯ª¨b©	¬	€ r+   ©r   r   c                  ó   •— ‰ dz  S ©Nr   r7   rP   s   €r)   r1   z'test_DomainMatrix_pow.<locals>.<lambda>G  s   ø€ ¨1°©6€ r+   )	r   Úeyer   rG  r   rG   ÚNotImplementedErrorr6  r   )rK  r  ÚA3r(   s      @r)   Útest_DomainMatrix_powrN  8  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 )NrV   ©r   r   rX   ©r   rU   é<   é   é   r,  é   T©ra   )r   r   r   r   r‚   Úclear_denoms©r(   Úden_ZÚAnum_ZÚAnum_Qs       r)   Útest_DomainMatrix_clear_denomsr\  J  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 )NrV   rP  rX   rQ  rð   r   rT  r   r   rU   r    TrV  )rV   rP  r   r   ©r   r   r   r   )rX   rQ  )r   rð   )r   rS   )rð   r   r   )r   r   r   )r   r   i¤  )r   r   r   r   )éi   éT   éF   rR  )r   r   r   r¥   Úclear_denoms_rowwiser¢   Úinvr‚   rX  s       r)   Ú&test_DomainMatrix_clear_denoms_rowwiserd  W  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   rP   s   €r)   r1   z0test_DomainMatrix_cancel_denom.<locals>.<lambda>|  s   ø€  a§n¢nµR¸±U´UÑ&;Ô&;€ r+   )r   r   rh  r   r   ÚZeroDivisionErrorrP   s   @r)   Útest_DomainMatrix_cancel_denomrj  n  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 rg  )Úcancel_denom_elementwiser   rP   s   €r)   r1   z<test_DomainMatrix_cancel_denom_elementwise.<locals>.<lambda>ˆ  s   ø€  a×&@Ò&@ÅÀAÁÄÑ&GÔ&G€ r+   )r   r   rm  r   ri  )ÚnumersÚdenomsr(   s     @r)   Ú*test_DomainMatrix_cancel_denom_elementwiserp    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_primitiverv  ‹  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 rN   )ÚsccrP   s   €r)   r1   z'test_DomainMatrix_scc.<locals>.<lambda>ž  s   ø€ ¨1¯5ª5©7¬7€ r+   )r   r   r¥   r#   rz  r   r   r   )r°   r±   r—   r˜   r(   s       @r)   Útest_DomainMatrix_sccr{  “  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   rH   )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 rN   )Ú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 rN   )Ú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   rV   c                  ó0   •— ‰                       d¬¦  «        S )NT)Údivide_last)Ú	nullspacerP   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!   rH  r   rV   r%  rW   c                  ó.   •— ‰                       ‰¦  «        S rN   ©Ú_solve)r(   Úb3s   €€r)   r1   z)test_DomainMatrix_solve.<locals>.<lambda>  s   ø€  §¢¨"¡¤€ r+   c                  ó.   •— ‰                       ‰¦  «        S rN   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„¦  «         t          d¦  «        }t          ddgddgg|¦  «                             ¦   «         t          ddgddgg|¦  «        k    sJ ‚t          d¦  «        Št	          t
          ˆfd„¦  «         d S )NrF   r   r   r   r    r!   r%  r   c                  ó,   •— ‰                       ¦   «         S rN   ©rc  r‰  s   €r)   r1   z'test_DomainMatrix_inv.<locals>.<lambda>  s   ø€  §¢¡¤€ r+   rV   c                  ó,   •— ‰                       ¦   «         S rN   r®  ©ÚAnss   €r)   r1   z'test_DomainMatrix_inv.<locals>.<lambda>  ó   ø€ ¨3¯7ª7©9¬9€ r+   rð   c                  ó,   •— ‰                       ¦   «         S rN   r®  )ÚAninvs   €r)   r1   z'test_DomainMatrix_inv.<locals>.<lambda>  s   ø€ ¨u¯yªy©{¬{€ r+   r   c                  óT   •— t          ddgddgg‰ ¦  «                             ¦   «         S )Nr   r   r   r    )r   rc  )ÚZ6s   €r)   r1   z'test_DomainMatrix_inv.<locals>.<lambda>  s*   ø€ ¥ Q¨ F¨Q°¨FÐ#3°RÑ 8Ô 8× <Ò <Ñ >Ô >€ r+   )
r   r   rc  r   r   r   r   r   r
   r   )r(   ÚAinvÚZ3r´  r±  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Ý
Õ%Ð':Ð':Ð':Ð':Ñ;Ô;Ð;å	ˆA‰Œ€BÝ��1ˆv˜˜1�vÐ Ñ#Ô#×'Ò'Ñ)Ô)­R°!°Q°¸!¸Q¸Ð0@À"Ñ-EÔ-EÒEÐEÐEÐEå	ˆA‰Œ€BÝ
�;Ð>Ð>Ð>Ð>Ñ?Ô?Ð?Ð?Ð?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 )NrF   r   r6   r   r   r    r!   r%  rU   rx  r   r   rV   c                  ó,   •— ‰                       ¦   «         S rN   )Údetr°  s   €r)   r1   z'test_DomainMatrix_det.<locals>.<lambda>1  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!   rU  é   é   é!   r   rV   c                  óJ   •— ‰                       t          d¦  «        g¦  «        S rJ  )Ú	eval_polyr   )ÚdM2s   €r)   r1   z-test_DomainMatrix_eval_poly.<locals>.<lambda>@  s   ø€ ¨3¯=ª=½"¸Q¹%¼%¸Ñ+AÔ+A€ r+   )	r   r   rÃ  r6  r%   r&   rK  r   r   )ÚdMÚpÚresultrÄ  s      @r)   Útest_DomainMatrix_eval_polyrÈ  7  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!   rH  é(   éW   r   c                  óL   •— ‰                      t          d¦  «        g‰ ¦  «        S rJ  ©Úeval_poly_mulr   )r©  ÚdM1s   €€r)   r1   z1test_DomainMatrix_eval_poly_mul.<locals>.<lambda>L  s   ø€ ¨3×+<Ò+<½bÀ¹e¼e¸WÀaÑ+HÔ+H€ r+   rV   c                  óL   •— ‰                      t          d¦  «        g‰ ¦  «        S rJ  rÍ  )Úb1rÅ  s   €€r)   r1   z1test_DomainMatrix_eval_poly_mul.<locals>.<lambda>N  s   ø€  ×!1Ò!1µ2°a±5´5°'¸2Ñ!>Ô!>€ r+   c                  óL   •— ‰                      t          d¦  «        g‰ ¦  «        S rJ  rÍ  )ÚbqrÅ  s   €€r)   r1   z1test_DomainMatrix_eval_poly_mul.<locals>.<lambda>P  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Ô  C  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 rN   ©Úsolve_den_charpoly©ÚAir©  s   €€r)   r1   z"_check_solve_den.<locals>.<lambda>k  s   ø€ °2×3HÒ3HÈÑ3KÔ3K€ r+   c                  ó2   •— ‰                       ‰d¬¦  «        S )NrÖ  rƒ  ©Ú	solve_denrÚ  s   €€r)   r1   z"_check_solve_den.<locals>.<lambda>l  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  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!   rH  r   r   r%  rU   rx  rW   r6   )r   r   ré  )r(   r©  rÇ  r   s       r)   Útest_DomainMatrix_solve_denrë  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Ý�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!   rH  rV   c                  ó.   •— ‰                       ‰¦  «        S rN   rØ  )r  r©  s   €€r)   r1   z6test_DomainMatrix_solve_den_charpoly.<locals>.<lambda>Š  s   ø€ ¨2×+@Ò+@ÀÑ+CÔ+C€ r+   c                  ó.   •— ‰                       ‰¦  «        S rN   rØ  ©r(   rÑ  s   €€r)   r1   z6test_DomainMatrix_solve_den_charpoly.<locals>.<lambda>Œ  s   ø€  ×!5Ò!5°bÑ!9Ô!9€ r+   c                  ó.   •— ‰                       ‰¦  «        S rN   rØ  )r(   rÓ  s   €€r)   r1   z6test_DomainMatrix_solve_den_charpoly.<locals>.<lambda>Ž  s   ø€  !×"6Ò"6°rÑ":Ô":€ r+   )r   r   r   r   r   r   r   )r(   r  r©  rÑ  rÓ  s   @@@@@r)   Ú$test_DomainMatrix_solve_den_charpolyrñ  †  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   rH  c                  ó.   •— ‰                       ‰¦  «        S rN   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ø  ‘  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   rV   rH  c                  ó.   •— ‰                       ‰¦  «        S rN   rÝ  rô  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>ž  ó   ø€  §¢¨Q¡¤€ r+   c                  ó.   •— ‰                       ‰¦  «        S rN   ©rß  rô  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>Ÿ  ó   ø€  ×!1Ò!1°!Ñ!4Ô!4€ r+   c                  ó.   •— ‰                       ‰¦  «        S rN   rÝ  rô  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>£  rû  r+   c                  ó.   •— ‰                       ‰¦  «        S rN   rý  rô  s   €€r)   r1   z4test_DomainMatrix_solve_den_errors.<locals>.<lambda>¤  rþ  r+   r   r    r!   c                  ó.   •— ‰                       ‰¦  «        S rN   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 rN   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!   rH  c                  ó.   •— ‰                       ‰¦  «        S rN   rÝ  rô  s   €€r)   r1   zBtest_DomainMatrix_solve_den_rref_underdetermined.<locals>.<lambda>¶  s   ø€ ¨q¯{ª{¸1©~¬~€ r+   c                  ó.   •— ‰                       ‰¦  «        S rN   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    rU   rð   rS   rø   é	   éñÿÿÿéîÿÿÿr   c                  ó,   •— ‰                       ¦   «         S rN   )Úadj_poly_detrP   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 )NrF   r   r   r   r    r!   r   r%  r-   rU   rð   rÅ   r&  iúÿÿÿrñ   rx  )r   r   r   r   r^  )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   c                 ó    ‡— ˆfd„| D ¦   «         S )Nc                 ó,   •— g | ]}ˆfd „|D ¦   «         ‘ŒS )c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS r7   r7   )rB   r�   rZ   s     €r)   rD   zEtest_DomainMatrix_lu.<locals>.<lambda>.<locals>.<listcomp>.<listcomp>	  s!   ø€ Ð 5Ð 5Ð 5¨A   Q¡¤Ð 5Ð 5Ð 5r+   r7   )rB   ÚrowrZ   s     €r)   rD   z:test_DomainMatrix_lu.<locals>.<lambda>.<locals>.<listcomp>	  s.   ø€ ÐFÐFÐF¸#Ð 5Ð 5Ð 5Ð 5°Ð 5Ñ 5Ô 5ÐFÐFÐFr+   r7   )ÚrowsrZ   s    `r)   r1   z&test_DomainMatrix_lu.<locals>.<lambda>	  s   ø€ ÐFÐFÐFÐFÀÐFÑFÔF€ r+   )r    r    c                  ó,   •— ‰                       ¦   «         S rN   )ÚlurP   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 )NrF   r   r   r   r    r!   rH  r   c                  ó.   •— ‰                       ‰¦  «        S rN   ©Úlu_solverô  s   €€r)   r1   z,test_DomainMatrix_lu_solve.<locals>.<lambda>'  ó   ø€ ¨q¯zªz¸!©}¬}€ r+   rU   rð   rñ   rW   c                  ó.   •— ‰                       ‰¦  «        S rN   r)  rô  s   €€r)   r1   z,test_DomainMatrix_lu_solve.<locals>.<lambda>2  r+  r+   rV   r6   c                  ó.   •— ‰                       ‰¦  «        S rN   r)  rô  s   €€r)   r1   z,test_DomainMatrix_lu_solve.<locals>.<lambda>7  s   ø€ ¨¯
ª
°1©¬€ r+   c                  ó.   •— ‰                       ‰¦  «        S rN   r)  rô  s   €€r)   r1   z,test_DomainMatrix_lu_solve.<locals>.<lambda><  s   ø€  §
¢
¨1¡¤€ r+   c                  ó.   •— ‰                       ‰¦  «        S rN   r)  rô  s   €€r)   r1   z,test_DomainMatrix_lu_solve.<locals>.<lambda>A  s   ø€  §¢¨A¡¤€ r+   )	r   r   r*  r   r   rL  r   r   r   )rˆ   r(   r©  s    @@r)   Útest_DomainMatrix_lu_solver0    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 )NrF   r   r6   r   r   r   r    r!   éûÿÿÿr%  rU   rð   rS   rø   r
  rx  r  r  r   )
é   r   rS  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   r>  éC   r   r   r   r   )r   iïÿÿÿiê÷ÿÿr   i¤:ôÿr   r   r   r   r   r   rV   c                  ó,   •— ‰                       ¦   «         S rN   )rÖ  r°  s   €r)   r1   z,test_DomainMatrix_charpoly.<locals>.<lambda>o  s   ø€ ¨3¯<ª<©>¬>€ r+   )	r   r   rÖ  r¥   r   Úmapr   r   r   )r(   rÆ  r±  s     @r)   Útest_DomainMatrix_charpolyr<  D  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 )NrF   r   r   r   r   r    r2  r%  )r   r   r   )r   r    r   )r   r   r   )r   r   Úcharpoly_factor_listr   rP   s    r)   Ú&test_DomainMatrix_charpoly_factor_listr?  r  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   rx  )r   rK  r   r#   r   r%   r&   rP   s    r)   Útest_DomainMatrix_eyerA  ‡  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 )NrV   )r   r6  r   r#   r   r%   r&   rP   s    r)   Útest_DomainMatrix_zerosrC  Ž  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&   rP   s    r)   Útest_DomainMatrix_onesrF  •  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   ÚdiagrP   s    r)   Útest_DomainMatrix_diagrI  Ÿ  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!   rU   rð   rS   rø   r
  r+  é   rU  ©r   r    )r   rð   )r   r   Úhstack©r(   rt   ru   ÚABÚABCs        r)   Útest_DomainMatrix_hstackrQ  §  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!   rU   rð   rS   rø   r
  r+  rK  rU  )r    r   )rð   r   )r   r   ÚvstackrN  s        r)   Útest_DomainMatrix_vstackrT  ¶  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   rV   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_applyfuncrX  Ë  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   rP   s   €r)   r1   z-test_DomainMatrix_scalarmul.<locals>.<lambda>Ú  ó   ø€ ˜a #™g€ r+   )r   r   r   r   r   rG   )Úlamdar(   s    @r)   Útest_DomainMatrix_scalarmulr^  Ñ  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 rg  r7   rP   s   €r)   r1   z+test_DomainMatrix_truediv.<locals>.<lambda>ç  s   ø€  a¨!¡e€ r+   c                  ó   •— ‰ dz  S r[  r7   rP   s   €r)   r1   z+test_DomainMatrix_truediv.<locals>.<lambda>è  r\  r+   c                  óN   •— ‰ t          t          d¦  «        t          ¦  «        z  S rg  )r   r   rP   s   €r)   r1   z+test_DomainMatrix_truediv.<locals>.<lambda>é  s   ø€  a­,µr¸!±u´u½bÑ*AÔ*AÑ&A€ r+   r
  rð   )
r   ro   r   r   r   r   r   ri  rG   r¢   )r]  r©  r(   s     @r)   Útest_DomainMatrix_truedivrc  Ý  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    rU   rð   rS   rø   r
  rx  r%  rH  r6   r   r   r!   rW   rP  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   rf  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>  s   ø€ ˜r # 2 # q &œz€ r+   rV   )r%  r   )r   r%  )r   r&  c                  ó   •— ‰ d         S )Nrx  r7   rf  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>
  ó   ø€ ˜r $œx€ r+   c                  ó   •— ‰ d         S )NrX   r7   rf  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>  ri  r+   c                  ó   •— ‰ d         S )N)r   r!  r7   rf  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>  s   ø€ ˜r &œz€ r+   )r+  r+  ©rU   rU   rF   c                  ó   •— ‰ d         S )N©r   r   r7   rf  s   €r)   r1   z+test_DomainMatrix_getitem.<locals>.<lambda>  ri  r+   rL  )r   r   rn  )r   r   r   Ú
IndexErrorr   rf  s   @r)   Útest_DomainMatrix_getitemrp  ñ  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   rL  rl  r   )r   r   Úgetitem_sympyr   ÚZeroÚ
isinstancer   )rÅ  Úval1Úval2s      r)   Útest_DomainMatrix_getitem_sympyrw    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Ð2ˆ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    rU   rð   rS   rø   r
  rx  r!   r   r   )r   r   r   rF   rÒ   r-   r&  c                  ó0   •— ‰                      ‰‰ ¦  «        S rN   )Úextract©ÚcolsrÅ  r   s   €€€r)   r1   z+test_DomainMatrix_extract.<locals>.<lambda>E  s   ø€  2§:¢:¨d°DÑ#9Ô#9€ r+   c                  óT   •— ‰                      ¦   «                              ‰‰ ¦  «        S rN   )r¥   rz  r{  s   €€€r)   r1   z+test_DomainMatrix_extract.<locals>.<lambda>F  s   ø€  2§<¢<¡>¤>×#9Ò#9¸$ÀÑ#EÔ#E€ r+   )r   r   rz  r¥   r6  r©   r   ro  )	rÏ  rÄ  ÚdM3ÚemptyÚsizeÚbad_indicesr|  rÅ  r   s	         @@@r)   Útest_DomainMatrix_extractr‚  %  sÆ  øøø€ Ý
Ý	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐÝ	ˆA‰Œ•�1‘”•r˜!‘u”uÐðð !'­ñ,ô ,€Cõ Ý	ˆA‰Œ•�1‘”ˆÝ	ˆA‰Œ•�1‘”ˆðà¥ñ%ô %€Cð �;Š;˜˜1�v  1˜vÑ&Ô&¨#Ò-Ð-Ð-Ð-Ø�=Š=‰?Œ?×"Ò" A 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    rL  rl  r!   c                 ó   •— |‰| |f<   d S rN   r7   )rC   ÚjÚvalrÅ  s      €r)   Úsetitemz*test_DomainMatrix_setitem.<locals>.setitemM  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>O  s   ø€ ˜g˜g a¨­B¨q°!©H¬HÑ5Ô5€ r+   c                  óT   •—  ‰ t          dd¦  «        dt          d¦  «        ¦  «        S rC  )Úslicer   r‰  s   €r)   r1   z+test_DomainMatrix_setitem.<locals>.<lambda>P  s#   ø€ ¨¨µ°a¸±´¸QÅÀ1ÁÄÑ(FÔ(F€ r+   )r   r   r   rG   rL  )rÅ  r‡  s   @@r)   Útest_DomainMatrix_setitemrŒ  I  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    rL  rl  r   r!   )Úpickler   r   ÚloadsÚdumps)rŽ  rÅ  s     r)   Útest_DomainMatrix_picklingr‘  S  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+   c                  óÜ  — t          ddgddggt          ¦  «        } |                      ¦   «         \  }}}}|j        | j        k    sJ ‚|j        | j        k    sJ ‚|j        | j        k    sJ ‚|j        | j        k    sJ ‚|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dgddggt          ¦  «        k    sJ ‚|t          ddgddggt          ¦  «        k    sJ ‚|                     ¦   «         \  }}|                     | ¦  «                             |¦  «        |                     |¦  «                             |¦  «        k    sJ ‚d S )Nr   r   r   r    r   r%  )r   r   Úfflur%   r  r2  Úrmul)r(   ÚPrþ   ÚDr#  ÚdiÚds          r)   Útest_DomainMatrix_fflur™  [  s  € Ý
ˆQ�ˆF�Q˜�FÐ�RÑ Ô €AØ—’‘”�J€A€qˆ!ˆQØŒ7�a”gÒÐÐÐØŒ7�a”gÒÐÐÐØŒ7�a”gÒÐÐÐØŒ7�a”gÒÐÐÐØ•�Q˜�F˜Q ˜FÐ#¥RÑ(Ô(Ò(Ð(Ð(Ð(Ø•�Q˜�F˜Q ˜GÐ$¥bÑ)Ô)Ò)Ð)Ð)Ð)Ø•�Q˜�F˜Q ˜GÐ$¥bÑ)Ô)Ò)Ð)Ð)Ð)Ø•�Q˜�F˜Q ˜GÐ$¥bÑ)Ô)Ò)Ð)Ð)Ð)Ø�IŠI‰KŒK�E€BˆØ�8Š8�A‰;Œ;×Ò˜AÑÔ !§(¢(¨2¡,¤,×"5Ò"5°aÑ"8Ô"8Ò8Ð8Ð8Ð8Ð8Ð8r+   N)vÚ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*   rK   rQ   r[   rc   rm   rp   rv   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)  r9  r<  rN  r\  rd  rj  rp  rv  r{  r�  r”  r˜  r¡  r«  r¹  r½  rÈ  rÔ  ré  rë  rñ  rø  r  r  r  r  r  r  r&  r0  r<  r?  rA  rC  rF  rI  rQ  rT  rX  r^  rc  rp  rw  r‚  rŒ  r‘  r™  r7   r+   r)   ú<module>r¡     s€  ðØ ,Ð ,Ð ,Ð ,Ð ,Ð ,à =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ Lðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (Ø (Ð (Ð (Ð (Ð (Ð (à 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð&ð &ð &ðR8ð 8ð 8ð$%ð %ð %ðPð ð ð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ð,.ð .ð .ð@ð @ð @ð0ð ð ð.	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ð9ð 9ð 9ð 9ð 9r+   