U
    ZÊ¹j~e  ã                U   @   sÐ"  d dl mZmZmZmZmZmZmZmZ d dl	m
Z
mZ d dlmZmZ d dlmZ d dlmZmZmZ d dlZedƒ\ZZZZe
dd	d
ddddddddgdddddddddddgddd d!d"d#d$d%d&d'd(gd)d*d+d,d-d.d/d0d1d2d3gd4d5d6d7d8d9d:d;d<d=d>gd?d@dAdBdCdDdEdFdGdHdIgdJdKdLdMdNdOdPdQdRdSdTgdUdVdWdXdYdZd[d\d]d^d_gd`dadbdcdddedfdgdhdidjgdkdldmdndodpdqdrdsdtdugdvdwdxdydzd{d|d}d~dd€ggeƒZed�d‚ e dƒe¡  Zd„e
d…d†d‡ggeƒe
d…d†d‡ggeƒed…ƒfdˆeg d‰eƒeg d‰eƒed…ƒfdŠe
d…d†gd‡d‹ggeƒe
d…d gd d…ggeƒed…ƒfdŒe
d…d gd‡d‹ggeƒe
d…d gd d…ggeƒed…ƒfd�e
d d†gd‡d‹ggeƒe
d…d gd d…ggeƒed…ƒfdŽe
d…d†d‡gd‹d�d�gd‘d’d“ggeƒe
d…d d”gd d…d†gd d d ggeƒed…ƒfd•e
d d d gd d d gd…d d ggeƒe
d…d d gd d d gd d d ggeƒed…ƒfd–e
d d d gd d d gd d d ggeƒe
d d d gd d d gd d d ggeƒed…ƒfd—e
d…d…d gd d d†gd d d ggeƒe
d…d…d gd d d…gd d d ggeƒed…ƒfd˜e
d†d†d gd d d†gd d d ggeƒe
d…d…d gd d d…gd d d ggeƒed…ƒfd™e
d†d†d gd d†d†gd d d†ggeƒe
d…d d gd d…d gd d d…ggeƒed…ƒfdše
d…d†d‡gd‹d�d�gd‘d’d“gd�dƒd›ggeƒe
d…d d”gd d…d†gd d d gd d d ggeƒed…ƒfdœe
d…d†d‡gd‹d�d�gd‘d’d“gd�dƒd�ggeƒe
d…d d gd d…d gd d d…gd d d ggeƒed…ƒfdže
d…d†d‹d‡gd‹d�d�d�gd‘d’dŸd“ggeƒe
d…d d d”gd d…d†d†gd d d d ggeƒed…ƒfd e
d…d†d‹d‡gd‹d�d�d�gd‘d’d¡d“ggeƒe
d…d d d”gd d…d d†gd d d…d ggeƒed…ƒfd¢e
d…d†d d…gd…d…d“d ggeƒe
d…d d£d”gd d…d¤d…ggeƒed…ƒfd¥e
d…d…d…gd…d†d†ggeƒe
d…d d gd d…d…ggeƒed…ƒfd¦e
d§d¨d d©d gdªd d d d gd«dŸd¬d­d gd d d®d¯d gd°d d±d d ggeƒe
d…d d d d gd d…d d d gd d d…d d gd d d d…d gd d d d d ggeƒed…ƒfd²e
d…d†d‹gd‹d�d�ggeƒe
d‡d d³gd d‡d�ggeƒed‡ƒfd´e
d d d d d gd d d d d gd d d d d‹ggeƒe
d d d d d…gd d d d d gd d d d d ggeƒed…ƒfdµe
d d d d d d…d d d d g
d…d d d d d d…d d d g
d d…d d d d d d…d d g
d d d d…d d d d d…d g
d d d d d…d d d d d…g
geƒe
d…d d d d d d…d d d g
d d…d d d d d d…d d g
d d d d…d d d d d…d g
d d d d d…d d d d d…g
d d d d d d…d d d d g
geƒed…ƒfd¶e
d…d…d…d d…gd…d…d d…d gd…d d…d d…gd…d…d d…d gd…d d d d ggeƒe
d…d d d d gd d…d d d gd d d…d d…gd d d d…d gd d d d d ggeƒed…ƒfd·e
d d d d­d d d¸d d d d d d d©d d d d d d gd d d d d d¹d dºdªd»d d‘d d d d dªd d d gd¼d»d­d d d½d d d d d d d¾d d§d d d¯d d gd d d d¿d d d d d d d d dÀdÁd d d�d dÂd gd dÃd d d d d d d d d d d d d dÄd d d dƒgd d d d d d d d d d d d d d d dÅd dÆd d gd d d d d dÇdÈd d d d dÇd d d d d dÉd d gdÊd d d d d d§d d d d d d d d d d d d dËgd d�d£dÌdÌdÍd d dÎd»d d d¾d d d d d d dÏgd d d d dÐd dÑd d d d d d dÒd d d d dÍd gd d d d d d d d dÓd d d dÔdÕd dºd d d d gd d d dÖd d d d×d d d d d d®d d d d dØdÙgd dÚdÛd¿d d d d d d d d d dÜd d d d±d d gd d d dŸdÝdÞd d d d d d d d d d d d¾d d gd d¡d d d dßdàd�dÒdàd d d d dÖd dÆdád½d gdªd d¡dâdßd›dÊd dÓd dãd d d d d d d d d gd d d däd dÞd d d dåd d d d d d�d d dÐd gd d d°d dæd d d d d d‹d dÒd d d dád d d gd d d d d“dçd d d d d d d d d d d d d d’gd d¯d d d d d d d d d±dèd d d d déd d d ggeƒe
d…d d d d d d d d d d d d d d d d d d d gd d…d d d d d d d d d d d d d d d d d d gd d d…d d d d d d d d d d d d d d d d d gd d d d…d d d d d d d d d d d d d d d d gd d d d d…d d d d d d d d d d d d d d d gd d d d d d…d d d d d d d d d d d d d d gd d d d d d d…d d d d d d d d d d d d d gd d d d d d d d…d d d d d d d d d d d d gd d d d d d d d d…d d d d d d d d d d d gd d d d d d d d d d…d d d d d d d d d d gd d d d d d d d d d d…d d d d d d d d d gd d d d d d d d d d d d…d d d d d d d d gd d d d d d d d d d d d d…d d d d d d d gd d d d d d d d d d d d d d…d d d d d d gd d d d d d d d d d d d d d d…d d d d d gd d d d d d d d d d d d d d d d…d d d d gd d d d d d d d d d d d d d d d d…d d d gd d d d d d d d d d d d d d d d d d…d d gd d d d d d d d d d d d d d d d d d d…d gd d d d d d d d d d d d d d d d d d d d…ggeƒed…ƒfdêe
d d d d dÒd d�d­d d…d¹d d dÓdäd§d‹d d dÁgd dÞdÆd dëd d d dÄd d d d d¬d“d dìdíd dègd d dîd dïd¼dçd dîd d�d d d dÞd d d d¯dÙgd d°däd dðdÍd d¼dãd d d dªdíd d dßd d d gdÐd d d dÙdñd d dªd d�d d®d�dÄdÂdñdòd d¨gd d d d d dìd d§d dód½d d d“dÐd dÌdÉdôd gd dÚdõdÐdñd d d d d d dâd«d d d d d¾d d gd dÎd d d dÊd d dñd d d d dÃd d dÜd d¸dögdÊd‘d dÜd d dàd dédÊdÙd½dçd d dÂd¬dÎd d gdÝd dÜd d d‹d«d d dËd d d dÎdædÑd dÑd d¯gdÓd÷d d¬d dÒd d†død dÇd d d d d¸d dÑdádõgd dØd dñd dÇd dÎdød d dâd d‘d d¾d d d d±gd d dîd d±d�d÷dùdÛdçdÄdŸdöd»dßd dîdðd d gdôdÅdÛd d d d§d d dÜd d d d d d d d’dÜdÕgd¹dïd§d dÌd�dÄd dÑd£d d d dÐdÄd¨d d…d dÁgdÕd d dåd d dôd d dÝdÞdéd d d d›dÒd d dƒgd‹d dºd�dîd d d¼d d d£d»dúdÝd d†d dÀd dºgd d dÜd¯dÖdád d dÌdûdÝd d d d d d dÑd d gd¿d d d d dÇd¹d dûdöd d d d dódÍdÖdÚd®d gd­dÚd d‹dÄd dÙd d dãd d d¼d dædûd d dËdággeƒe
d…d d d d d d d d d d d d d d d d d d d gd d…d d d d d d d d d d d d d d d d d d gd d d…d d d d d d d d d d d d d d d d d gd d d d…d d d d d d d d d d d d d d d d gd d d d d…d d d d d d d d d d d d d d d gd d d d d d…d d d d d d d d d d d d d d gd d d d d d d…d d d d d d d d d d d d d gd d d d d d d d…d d d d d d d d d d d d gd d d d d d d d d…d d d d d d d d d d d gd d d d d d d d d d…d d d d d d d d d d gd d d d d d d d d d d…d d d d d d d d d gd d d d d d d d d d d d…d d d d d d d d gd d d d d d d d d d d d d…d d d d d d d gd d d d d d d d d d d d d d…d d d d d d gd d d d d d d d d d d d d d d…d d d d d gd d d d d d d d d d d d d d d d…d d d d gd d d d d d d d d d d d d d d d d…d d d gd d d d d d d d d d d d d d d d d d…d d gd d d d d d d d d d d d d d d d d d d…d gd d d d d d d d d d d d d d d d d d d d…ggeƒed…ƒfdüe
dëdÎd¼dôdûdédðdîdâd®d¡dõdýdÉdñd°d�dÎd¨dçd¿dÂdúdÒdºdÅdöd§d÷dþgd½déd¿d±d�dÓdÙd�dÁd†dÙdºdød§dÇdídÂd“d�d§dÐdôd©díd®d«dødëdÑdÿgdÊdÉdÎdã�d dâd§d�dÇdÚd­d�dÁdÔd�d‹d�dßd«d dýd¾dÄdÄdÉd¯d«d†dÏ�d gdßdôdÊdÔdâd›d£d‘d©dõd›d»d°dºdÇdÖdádódîd…dÞd’dÁdàdºd›d†�d dÿdÿgdèd�dËdÀdÎdÏd¨dÑdúdÎ�d dÂd dÙd d«d‹dªdÉdƒdÿd¸d‘d¿dödƒd‘dìdßd¸g�dd«dÉd¾�d�dd¯�dd«�d�ddôdÈ�ddÇdÈ�dd×�dd­�d�d d¸dòd¡�d	�d
dÚd¯�dgdÔdòdødäd›dód±d’d§d¬dþd‘dÈd°dÀdÊdÉd›dñdÇdådÏdÇdÔd¾dádèdÆdþd¼gdïdïdÕdÝdÊdÜdídýdÂdþdÑdódÏdÏdødÇd›dýd¨dÌdÅdÜdÙdádõd dÿdìdõdÄgdädƒd �d dõdôdÝdÌdºdèdýdÇdÙdëdád«dÙdødÛdðdùdÈdåd±dådÕdºdîdádÆgdódªdídŸdÖdÎdÕdùdÉd‹d¬dödødÊdÊd®dÏdºdòd®d»dƒdûdód’dìd¯dËdÙdûgdÌd±d�dÐd®d¯dâdÃdÿdídÅd�dçdþdÎd�d¸dádëdìdðdÛdÉdÐd“dÖd¼d�d›dÜgdÁd‡dÌdðd¾dÂd¯dídÇdÒdŸd…dÏd­dèdÍdôdÈdód dÇdædÁdñdÄdàd�dÄdúdîgdªd¾d�d½d¼d¿�d d’dÝdëd¹dâdÌd­d‡d«d¹d‡død¨d®dƒdÌdîd’dËdúdâdÚdÕgd¿d¹dØd½díd½dÅd£d�død«d¨dÑdódÊdíd‹dºdúdßdñdád£d×dÂdõdÄdÓdÝd¨gdÂdëdédýd¾dþd¡d…d“dðdÚd¸d¸dÍdßdºdñdÕdÕd¹dÇd¾dídÛdÎd£dÝ�d dÉdÂgdÝd°d’dŸdád�dÎd«d¸dëdÆd±d£dãd¬dîdÂd£d›d d­dÕd…dßd‡d�dùdßdÎdágdÙdÖd¼dùd¸d§dºd�dàdèd±d¡dÒdõdªdÓdãdädÚd­d¾dÜd�dÖdád¬dÿdødÛd‘gdÕdºd’dÌdædàd°dªdÌdÖdþdÀd×dÛdëdådÉdùdôdÐdódÀdƒd¼dæd®dÈd±dõd¼gdõdödßdºdÑd’d dŸdÔdÀdÎd®dÈdÿd­dÛd¹dÄd¾d‘dád›dÕ�ddÀd°d‡d¼dÔdªgd­dÆdádÌd�dÌd×dÂdìdïdÏdÈd¡dÅdÐd¡dæd…dÑdÇdÊd’d‡dÀdòdÅdñdådƒd‡gdÓdÀd¯dŸd†dÀdìdÇd÷dòdªdÎdŸd¬dÄd¹d¬dídÛdödýdåd¯dÊd‹dôdûdËdÉdØgdýdé�ddÞdÐdÀdédÁdÁdëdÙd°d¡d¨dÙd‡dÕdèdådìd�d»d›d�d¯dþdÄd¸dÂd°gd¹d÷d†d�d¬dÇd¹dúd£dÔdÈdÚd¯dÚd“dºdÒd d¡dçdßdýdßd©d�dßdºd“dÏdàgdþd©d®d�d�dÔd®d¸dÝd‡dÛd¬dÔdãd�dÙdÌd»dƒdÁdéd½d÷d�dådéd¨dëdŸd¿gdçd÷dódÄdÌdãd“dÕd¸dÏdÑ�d d›d÷d d›d dÖdÿdÿdË�d d¼d…d¾d…d…d¿dýdâgdÎd“dåd�d¹dÝdþdÀdídìdúdÇdƒd“dÎd®dÍd�dídÄd�dñd¬dúd…d�dúdìd�dÙgdÃdød�dÒd®dÄd¯d�díd§d…dùdâdûdßdéd©d£dßdçdŸdÀdÉd“dÍd¯d�d§dƒdºgdËdãdôd†d®dõd­dâdªdÅd…dÑd°dÿd©dÄdÅd�dådçd«dÓdÊdÄdödÞdçdÿdÁdØgdØd dÆd¡d¼dådùd†dãdÛdËdÄdÖd†dïd«dÍdãdèdödÇdöd†d¾dùdödÒdªdõd£gd®dôdídÝd¨dýdúdªdÞd‘dÓd¸dðd�d«dÄd½dôd¯d¬dÜd¾dÇdýdðdÔdád�däd’ggeƒeedÁƒ�d e�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �d!�d"�d#�d$�d%�d&�d'�d(�d)gƒged…dÁƒed…d…ƒggƒ ¡  ¡ e�dƒf�d*e
dd gd d†ggeƒe
d…d gd d…ggeƒed…ƒf�d+e
d d…gd…d…ggeƒe
d…d gd d…ggeƒed…ƒf�d,e
d…d†d…gd‡d‹d…ggeƒe
d…d d”gd d…d…ggeƒed…ƒf�d-e
d‡d‹d…gd…d†d…ggeƒe
d…d d”gd d…d…ggeƒed…ƒf�d.e
d…d gd…d‡gd d…ggeƒe
d…d gd d…gd d ggeƒed…ƒf�d/e
d…d d…gd‡d d…ggeƒe
d…d d gd d d…ggeƒed…ƒf�d0ee dƒe¡ ¡ ed…ƒf�d1ee dƒe¡ ¡ ed…ƒf�d2e
d d…gd d†gd…d ggeƒe
d…d gd d…gd d ggeƒed…ƒf�d3e
�d4d…d…gd…d…d…ggeƒe
d…d d gd d…d…ggeƒed…ƒf�d5e
eed…geed…ggeƒe
ee ee  d e e gd ee ee  ee ggeƒeee ee  ƒfg$Z�d6�d7„ Z�d8�d9„ Z �d:�d;„ Z!�d<�d=„ Z"ej# $�d>e¡�d?�d@„ ƒZ%ej# $�d>e¡�dA�dB„ ƒZ&ej# $�d>e¡�dC�dD„ ƒZ'ej# $�d>e¡�dE�dF„ ƒZ(ej# $�d>e¡�dG�dH„ ƒZ)ej# $�d>e¡�dI�dJ„ ƒZ*ej# $�d>e¡�dK�dL„ ƒZ+ej# $�d>e¡�dM�dN„ ƒZ,ej# $�d>e¡�dO�dP„ ƒZ-ej# $�d>e¡�dQ�dR„ ƒZ.ej# $�d>e¡�dS�dT„ ƒZ/ej# $�d>e¡�dU�dV„ ƒZ0ej# $�d>e¡�dW�dX„ ƒZ1ej# $�d>e¡�dY�dZ„ ƒZ2ej# $�d>e¡�d[�d\„ ƒZ3ej# $�d>e¡�d]�d^„ ƒZ4dS (_  é    )ÚZZÚQQÚZZ_IÚEXÚMatrixÚeyeÚzerosÚsymbols)ÚDMÚDomainMatrix)Úddm_irref_denÚ	ddm_irref)ÚDDM)ÚSDMÚ	sdm_irrefÚsdm_rref_denNz
a, b, c, d)é   é   )r   é   )r   é   )r   é   )r   é   )r   é   )r   é   )r   é   )r   é   )r   é   )r   é   )r   é%   )r   é)   )r   é+   )r   é/   )r   é5   )r   é;   )r   é=   )r   éC   )r   éG   )r   éI   )r   éO   )r   éS   )r   éY   )r   éa   )r   ée   )r   ég   )r   ék   )r   ém   )r   éq   )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   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i  )r   i%  )r   i3  )r   i7  )r   i9  )r   i=  )r   iK  )r   iQ  )r   i[  )r   i]  )r   ia  )r   ig  )r   io  )r   iu  )r   i{  )r   i  )r   i…  )r   i�  )r   i‘  )r   i™  )r   i£  )r   i¥  )r   i¯  )r   i±  )r   i·  )r   i»  )r   iÁ  )r   iÉ  )r   iÍ  )r   iÏ  )r   iÓ  )r   iß  )r   iç  )r   ië  )r   ió  )r   i÷  )r   iý  )r   i	  )r   i  )r   i  )r   i#  )r   i-  )r   i3  )r   i9  )r   i;  )r   iA  )r   iK  )r   iQ  )r   iW  )r   iY  )r   i_  )r   ie  )r   ii  )r   ik  )r   iw  )r   i�  )r   iƒ  )r   i‡  )r   i�  )r   i“  )r   i•  é
   éd   r   Zzz_1r   r   r   Zzz_2)r   r   Zzz_3é   Zzz_4Zzz_5Zzz_6r   é   r   é   é	   éÿÿÿÿZzz_7Zzz_8Zzz_9Zzz_10Zzz_11Zzz_12é   Zzz_13r   Zzz_14é   Zzz_15r   Zzz_16é   i÷ÿÿÿZzz_17Zzz_18é^   é   é   r(   éU   r&   éQ   éH   éM   é   é"   Zzz_19iøÿÿÿZzz_20Zzz_21Zzz_22Z
zz_large_1éK   éV   é\   é6   r*   é   é3   é`   é0   r   é    éF   é<   r   r    é&   é[   é   éE   é7   é1   éX   é#   éW   r   é(   é2   éb   é   r"   é_   é$   r'   r   éA   é   éZ   é'   é,   éc   éT   é!   é4   éD   éR   r+   r%   é*   é]   r!   Z
zz_large_2é>   é9   r   é   éJ   é   é@   r#   r)   é:   é8   éL   é?   r$   é-   r   é   Z
zz_large_3éP   éB   é.   é   é€   é¡   r:   éN   r-   é{   é“   éf   é–   ép   é�   l   }#"
‹<T—vl;(ÕCƒVéóŒW+l   )'K	
)!08¬c9mJ"~(åÜ
l   „[OvàNeMÑ"Ôb³y;qÀyX-ÿsî/n l   r9¿Oª/Ø]�/GW©m4±9°lxi‡l   °0™"M'’Y#«h­	í¥v)B•l   ¶mŠRC.N”R™%�y¼ë?^�j<l   Go+Ç5;¾#Õ)%P“öFK©.öaê lóÿÿÿÙ»8`w†!ZYg"T¢WMcW_CX#l   6I±5æA° ßQÌFµ~ŒtÓ,U;�'¢9fl   ÿ1x ?Ð”QÊ?Éf·NÇBüzL	lóÿÿÿyòJT{ân'W�Q8Ü
�%É(9*v
lóÿÿÿÎÚ]|âFílq‚Ulz>jV% )ätËl   uð,×ß bvÔCü•*\lc]á\.lóÿÿÿ(ÞWlnGâOßÿ~³rØZ^
l   �~Qõ7Ö1GºtÐy4…=†GrrY l   ™	ÇLüR'"‡[pµhî]dQ¥US|l   x²`w'ähýY‹|òhœ/äXSÙOùílóÿÿÿ]: [Z6Î8:Š?{oéLô¹Œhc	lóÿÿÿS/dblR6	wÁº(˜MèBTÇ:Æ`TlóÿÿÿÎt®hBBæ^ÞòÍ{|6üÆ9>(¾Ãlóÿÿÿ€-…SEk{¾L?]�6*øuÌ#5[(‚l   ™/æû3‘N?¶³2Ô	GKøts‚úl   Iä4[,Jt®QÓ£&9÷/Qrdæ^ÉlóÿÿÿTjÚeºD0nv
ÊA�Oø@;uM6F~Olóÿÿÿ%df8xh6ÄwOå«ÐiýVlóÿÿÿ²"B'[A(2gÎ4,™U´n‹!¥FQl   v¸½Ÿg€,ŠVvJEºNjifÀlóÿÿÿDþ_zR·#s%”0[eùRæØKÛ*olóÿÿÿ¤TÓ^ZîH<UF*dä7,jÊq˜CLlóÿÿÿ×elGÝzÔ;—VGCm"2Y#?5,`+z	Zqq_1Zqq_2Zqq_3Zqq_4Zqq_5Zqq_6Ú
qq_large_1Ú
qq_large_2Zqq_7Zzz_i_1)r   r   ZEX_1c                 C   s®   t | tƒr|  ¡ S t | tƒr,|  |j¡ ¡ S t| dƒr@t| dƒsP|j|j }}n| j| j }}t | tt	fƒr€tt	| ƒ||ƒ ¡ S t | t
tfƒr¢tt| ƒ||ƒ ¡ S dsªt‚dS )z#Convert the answer to DomainMatrix.ÚshapeÚdomainFN)Ú
isinstancer   Úto_denser   Úto_DMrŸ   Úhasattrrž   r   Úlistr   ÚdictÚAssertionError)ÚAZansrž   rŸ   © r¨   úc/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/polys/matrices/tests/test_rref.pyÚ_to_DME  s    

rª   c                 C   s   t ttt|  ¡  ¡ ƒƒƒS )z%Return the pivots from the rref of A.)ÚtupleÚsortedÚmapÚminÚto_sdmÚvalues)ÚA_rrefr¨   r¨   r©   Ú_pivotsY  s    r²   c                 C   sx   | \}}}t |ttttfƒr4t|ƒtks,t‚t|ƒ}t||ƒ}| 	|¡\}}||ksXt‚||ksdt‚|t
|ƒkstt‚dS )zCheck the cancelled result.N)r    r   r   r¤   r¥   Útyper¦   r«   rª   Zcancel_denomr²   )ÚresultÚrref_ansÚden_ansÚrrefÚdenÚpivotsZrref2Zden2r¨   r¨   r©   Ú_check_cancel^  s    

rº   c                 C   sh   | \}}t |ttttfƒr2t|ƒtks*t‚t|ƒ}| ¡ | }t	||ƒ}||ksTt‚t
|ƒ|ksdt‚dS )zCheck the divided result.N)r    r   r   r¤   r¥   r³   r¦   r«   Úto_fieldrª   r²   )r´   rµ   r¶   r·   r¹   r¨   r¨   r©   Ú_check_dividek  s    
r¼   zname, A, A_rref, denc                 C   s<   |j }| ¡ }| ¡ \}}|jr(| ¡ }t||f||ƒ d S ©N)rŸ   Z	to_Matrixr·   Zis_EXÚexpandr¼   )Únamer§   r±   r¸   ÚKZA_rref_foundr¹   r¨   r¨   r©   Útest_Matrix_rrefw  s    rÁ   c                 C   s   |  ¡ }t| ¡ ||ƒ d S r½   )r»   r¼   r·   ©r¿   r§   r±   r¸   r¨   r¨   r©   Útest_dm_dense_rref�  s    rÃ   c                 C   s   t | ¡ ||ƒ d S r½   )rº   Úrref_denrÂ   r¨   r¨   r©   Útest_dm_dense_rref_den‡  s    rÅ   c                 C   s    |  ¡  ¡ }t| ¡ ||ƒ d S r½   )r»   Ú	to_sparser¼   r·   rÂ   r¨   r¨   r©   Útest_dm_sparse_rrefŒ  s    rÇ   c                 C   s   |  ¡ }t| ¡ ||ƒ d S r½   )rÆ   rº   rÄ   rÂ   r¨   r¨   r©   Útest_dm_sparse_rref_den’  s    rÈ   c                 C   s:   |  ¡ }|jdd�\}}}| ¡ | }t||f||ƒ d S )NF)Úkeep_domain©rÆ   rÄ   r»   r¼   ©r¿   r§   r±   r¸   ZA_rref_fZden_fZpivots_fr¨   r¨   r©   Ú#test_dm_sparse_rref_den_keep_domain˜  s    rÌ   c                 C   s<   |  ¡ }|jddd�\}}}| ¡ | }t||f||ƒ d S )NFZCD©rÉ   ÚmethodrÊ   rË   r¨   r¨   r©   Ú&test_dm_sparse_rref_den_keep_domain_CD   s    rÏ   c                 C   s<   |  ¡ }|jddd�\}}}| ¡ | }t||f||ƒ d S )NFZGJrÍ   rÊ   rË   r¨   r¨   r©   Ú&test_dm_sparse_rref_den_keep_domain_GJ¨  s    rÐ   c                 C   s   |  ¡ }t| ¡ ||ƒ d S r½   )Úto_ddmrº   rÄ   rÂ   r¨   r¨   r©   Útest_ddm_rref_den°  s    rÒ   c                 C   s   |  ¡ }t| ¡ ||ƒ d S r½   )r¯   rº   rÄ   rÂ   r¨   r¨   r©   Útest_sdm_rref_den¶  s    rÓ   c                 C   s    |  ¡  ¡ }t| ¡ ||ƒ d S r½   )r»   rÑ   r¼   r·   rÂ   r¨   r¨   r©   Útest_ddm_rref¼  s    rÔ   c                 C   s    |  ¡  ¡ }t| ¡ ||ƒ d S r½   )r»   r¯   r¼   r·   rÂ   r¨   r¨   r©   Útest_sdm_rrefÂ  s    rÕ   c                 C   s,   |  ¡  ¡  ¡ }t|ƒ}t||f||ƒ d S r½   )r»   rÑ   Úcopyr   r¼   )r¿   r§   r±   r¸   Úpivots_foundr¨   r¨   r©   Útest_ddm_irrefÈ  s    rØ   c                 C   s6   |  ¡  ¡ }t||jƒ\}}|||f}t|||ƒ d S r½   )rÑ   rÖ   r   rŸ   rº   )r¿   r§   r±   r¸   Z	den_foundr×   r´   r¨   r¨   r©   Útest_ddm_irref_denÏ  s    
rÙ   c                 C   s(   |  ¡  ¡ }tt|ƒd d… ||ƒ d S )Nr   )r»   r¯   r¼   r   rÂ   r¨   r¨   r©   Útest_sparse_sdm_rref×  s    rÚ   c                 C   s(   |  ¡  ¡ }|j}tt||ƒ||ƒ d S r½   )r¯   rÖ   rŸ   rº   r   )r¿   r§   r±   r¸   rÀ   r¨   r¨   r©   Útest_sparse_sdm_rref_denÝ  s    rÛ   )5Zsympyr   r   r   r   r   r   r   r	   Zsympy.polys.matricesr
   r   Zsympy.polys.matrices.denser   r   Zsympy.polys.matrices.ddmr   Zsympy.polys.matrices.sdmr   r   r   ZpytestÚaÚbÚcÚdrœ   r�   r¢   r¡   ZRREF_EXAMPLESrª   r²   rº   r¼   ÚmarkZparametrizerÁ   rÃ   rÅ   rÇ   rÈ   rÌ   rÏ   rÐ   rÒ   rÓ   rÔ   rÕ   rØ   rÙ   rÚ   rÛ   r¨   r¨   r¨   r©   Ú<module>   sL  (õôü

üÿÿÿÿú
ÿÿÿÿú
ÿÿÿÿú

þþ
þþø
þþ
þþø
þþ
þþø
þþ
þþø
þþ
þþø
þþ
þþø
ýý
ýýö
ýý
ýýö

þþ

þþø

þþ

þþø
ÿÿ
ÿÿú

ÿÿ
ÿÿúüüüüò
ÿÿ
ÿÿùþþþþøüüüüôüüüüô********************ìë,*******************ííÔ0********************ìë********************ìëÒ2>>B@@Z>>@>>>@>@>>>@>>@>>B>>>>>âá äÿà"¼Iü	ÿÿÿÿù
ÿÿ
ÿÿù
ÿÿ
ÿÿùþþþþ÷
ÿÿ
ÿÿùúúþþþþçÿÿ
ÿÿùþþÿÿø€ € € € ó    	