§
    OŠtj*  ã                   óÆ  — d dl mZmZ d dlmZmZ d dlmZ d dlm	Z	 d dl
Z
d„ Zd„ Zd eg d	¢ge¦  «         eg d
¢g d¢ge¦  «        fd ede¦  «         ede¦  «        fd ede¦  «         ede¦  «        fd ede¦  «         ede¦  «        fd ede¦  «         ede¦  «        fd eddgddgge¦  «         ede¦  «        fd eddgddgge¦  «         eddgge¦  «        fd edgdgge¦  «         ede¦  «        fd eddgge¦  «         eddgge¦  «        fd eg d¢g d ¢g d!¢g d"¢g d#¢ge¦  «         eg d$¢g d%¢g d&¢g d'¢g d(¢ge¦  «        fg
Zd)„ Zd*„ Zd+„ Zd,„ Ze
j                             d-e¦  «        d.„ ¦   «         Ze
j                             d-e¦  «        d/„ ¦   «         Ze
j                             d-e¦  «        d0„ ¦   «         Ze
j                             d-e¦  «        d1„ ¦   «         Ze
j                             d-e¦  «        d2„ ¦   «         Ze
j                             d-e¦  «        d3„ ¦   «         Ze
j                             d-e¦  «        d4„ ¦   «         ZdS )5é    )ÚZZÚMatrix)ÚDMÚDomainMatrix)ÚDDM)ÚSDMNc                 óP   — t          j        | |¦  «                             ¦   «         S ©N)r   ÚzerosÚto_dense)ÚshapeÚKs     úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/polys/matrices/tests/test_nullspace.pyú<lambda>r      s   € �Ô+¨E°1Ñ5Ô5×>Ò>Ñ@Ô@€ ó    c                 óP   — t          j        | |¦  «                             ¦   «         S r
   )r   Úeyer   )Únr   s     r   r   r   	   s   € •<Ô# A qÑ)Ô)×2Ò2Ñ4Ô4€ r   Úzz_1)é   é   é   )éþÿÿÿr   r   )éýÿÿÿr   r   Úzz_2)r   r   Úzz_3)r   r   Úzz_4)r   r   r   Úzz_5)r   r   Úzz_6r   r   é   Úzz_7éÿÿÿÿÚzz_8)r   r   Úzz_9Úzz_10)
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   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"   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                 ó”  — t          | t          ¦  «        r|                      ¦   «         S t          | t          ¦  «        r:t          t	          | ¦  «        | j        | j        ¦  «                             ¦   «         S t          | t          ¦  «        r:t          t          | ¦  «        | j        | j        ¦  «                             ¦   «         S J ‚)z#Convert the answer to DomainMatrix.)	Ú
isinstancer   r   r   Úlistr   Údomainr   Údict)ÚAÚanss     r   Ú_to_DMr-   i   s›   € å�!•\Ñ"Ô"ð Ø�zŠz‰|Œ|ÐÝ	�A•sÑ	Ô	ð Ý�D ™GœG Q¤W¨a¬hÑ7Ô7×@Ò@ÑBÔBÐBÝ	�A•sÑ	Ô	ð Ý�D ™GœG Q¤W¨a¬hÑ7Ô7×@Ò@ÑBÔBÐBàˆur   c                 óZ  — |                       ¦   «         } | j        r| S g }t          | j        d         ¦  «        D ]d}t	          t          | j        d         ¦  «        ¦  «        D ]8}| ||f         r,|                     | |dd…f         | ||f         z  ¦  «          nŒ9J ‚Œet          j        |Ž S )z8Normalize the nullspace by the rightmost non-zero entry.r   r   N)Úto_fieldÚis_zero_matrixÚranger   ÚreversedÚappendr   Úvstack)ÚnullÚrowsÚiÚjs       r   Ú_divide_lastr9   u   sÇ   € à�=Š=‰?Œ?€DàÔð Øˆà€DÝ�4”:˜a”=Ñ!Ô!ð ð ˆÝ�% ¤
¨1¤Ñ.Ô.Ñ/Ô/ð 	ð 	ˆAØ�A�q�DŒzð Ø—’˜D  A A A œJ¨¨a°¨d¬Ñ3Ñ4Ô4Ð4Ø�ðð �5ð õ Ô Ð%Ð%r   c                 ód   — t          | |¦  «        } |                      ¦   «         \  }}||k    sJ ‚dS )z/Check that the primitive of the answer matches.N)r-   Ú	primitive)r5   Únull_ansÚcontÚ	null_prims       r   Ú_check_primitiver?   ˆ   s;   € å�$˜Ñ!Ô!€DØ—n’nÑ&Ô&�O€Dˆ)Ø˜Ò Ð Ð Ð Ð Ð r   c                 óT   — t          | |¦  «        } t          |¦  «        }| |k    sJ ‚dS )zCheck the divided answer.N)r-   r9   )r5   r<   Únull_ans_norms      r   Ú_check_dividedrB   �   s5   € å�$˜Ñ!Ô!€DÝ  Ñ*Ô*€MØ�=Ò Ð Ð Ð Ð Ð r   zname, A, A_nullc                 ód  — |                      ¦   «         }|                     ¦   «         }|rt          j        |Ž }nt          j        |j        d¦  «        }|                     ¦   «                              ¦   «                              ¦   «         }| 	                    ¦   «         }t          ||¦  «         d S )Nr   )Ú	to_MatrixÚ	nullspacer   Úhstackr   ÚcolsÚto_DMr/   r   Ú	transposerB   )Únamer+   ÚA_nullÚA_null_colsÚA_null_founds        r   Útest_Matrix_nullspacerN   –   s™   € à	�Š‰Œ€Aà—+’+‘-”-€Kð ð /Ý”} kÐ2ˆˆå”| A¤F¨AÑ.Ô.ˆà×%Ò%Ñ'Ô'×0Ò0Ñ2Ô2×;Ò;Ñ=Ô=€Lð  ×)Ò)Ñ+Ô+€Lå�< Ñ(Ô(Ð(Ð(Ð(r   c                 óž   — |                      ¦   «                              ¦   «         }|                     d¬¦  «        }t          ||¦  «         d S ©NT)Údivide_last)r/   r   rE   rB   ©rJ   r+   rK   rM   s       r   Útest_dm_dense_nullspacerS   ª   sD   € à	�
Š
‰Œ×ÒÑÔ€AØ—;’;¨4�;Ñ0Ô0€LÝ�< Ñ(Ô(Ð(Ð(Ð(r   c                 óž   — |                      ¦   «                              ¦   «         }|                     d¬¦  «        }t          ||¦  «         d S rP   )r/   Ú	to_sparserE   rB   rR   s       r   Útest_dm_sparse_nullspacerV   ±   sD   € à	�
Š
‰Œ×ÒÑ Ô €AØ—;’;¨4�;Ñ0Ô0€LÝ�< Ñ(Ô(Ð(Ð(Ð(r   c                 ó    — |                      ¦   «                              ¦   «         }|                     ¦   «         \  }}t          ||¦  «         d S r
   )r/   Úto_ddmrE   rB   ©rJ   r+   rK   rM   Ú_s        r   Útest_ddm_nullspacer[   ¸   óB   € à	�
Š
‰Œ×ÒÑÔ€AØ—k’k‘m”m�O€L�!Ý�< Ñ(Ô(Ð(Ð(Ð(r   c                 ó    — |                      ¦   «                              ¦   «         }|                     ¦   «         \  }}t          ||¦  «         d S r
   )r/   Úto_sdmrE   rB   rY   s        r   Útest_sdm_nullspacer_   ¿   r\   r   c                 óv   — |                      ¦   «         }|                     ¦   «         }t          ||¦  «         d S r
   )r   rE   r?   rR   s       r   Ú test_dm_dense_nullspace_fracfreera   Æ   s2   € à	�
Š
‰Œ€AØ—;’;‘=”=€LÝ�\ 6Ñ*Ô*Ð*Ð*Ð*r   c                 óv   — |                      ¦   «         }|                     ¦   «         }t          ||¦  «         d S r
   )rU   rE   r?   rR   s       r   Ú!test_dm_sparse_nullspace_fracfreerc   Í   s2   € à	�Š‰Œ€AØ—;’;‘=”=€LÝ�\ 6Ñ*Ô*Ð*Ð*Ð*r   )Úsympyr   r   Úsympy.polys.matricesr   r   Úsympy.polys.matrices.ddmr   Úsympy.polys.matrices.sdmr   Úpytestr   r   ÚNULLSPACE_EXAMPLESr-   r9   r?   rB   ÚmarkÚparametrizerN   rS   rV   r[   r_   ra   rc   © r   r   ú<module>rm      s~  ðØ Ð Ð Ð Ð Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø (Ð (Ð (Ð (Ð (Ð (Ø (Ð (Ð (Ð (Ð (Ð (à €€€à@Ð@€Ø4Ð4€ð, 	Ø	ˆˆZˆZˆZˆL˜"Ñ	Ô	Ø	ˆˆZˆZˆZØˆZˆZðØñ
ô 
ðð 	Ø	ˆˆv�rÑ	Ô	Ø	ˆˆv�rÑ	Ô	ðð 	Øˆˆf�bÑÔØˆˆf�bÑÔðð 	Øˆˆf�bÑÔØˆˆAˆr‰
Œ
ðð 	Øˆˆf�bÑÔØˆˆAˆr‰
Œ
ðð 	Ø
ˆˆQ�ˆFØ�ˆFðØñ	ô 	àˆˆf�bÑÔð	ð 	Ø
ˆˆQ�ˆFØ�ˆFðØñ	ô 	à
ˆˆR�ˆGˆ9�bÑÔð	ð 	Ø
ˆˆQˆCØˆCðØñ	ô 	àˆˆf�bÑÔð	ð 	Ø
ˆˆQ�ˆFˆ8�RÑÔØ
ˆˆR�ˆGˆ9�bÑÔðð 	Ø
ˆÐ*Ð*Ð*Ø*Ð*Ð*Ø*Ð*Ð*Ø*Ð*Ð*Ø*Ð*Ð*ð	,ð .0ñ		1ô 	1ð
 	ˆÐ.Ð.Ð.Ø.Ð.Ð.Ø.Ð.Ð.Ø.Ð.Ð.Ø.Ð.Ð.ð	0ð 24ñ		5ô 	5ððyJÐ ðZ	ð 	ð 	ð&ð &ð &ð&!ð !ð !ð!ð !ð !ð „×ÒÐ*Ð,>Ñ?Ô?ð)ð )ñ @Ô?ð)ð& „×ÒÐ*Ð,>Ñ?Ô?ð)ð )ñ @Ô?ð)ð „×ÒÐ*Ð,>Ñ?Ô?ð)ð )ñ @Ô?ð)ð „×ÒÐ*Ð,>Ñ?Ô?ð)ð )ñ @Ô?ð)ð „×ÒÐ*Ð,>Ñ?Ô?ð)ð )ñ @Ô?ð)ð „×ÒÐ*Ð,>Ñ?Ô?ð+ð +ñ @Ô?ð+ð „×ÒÐ*Ð,>Ñ?Ô?ð+ð +ñ @Ô?ð+ð +ð +r   