§
    OŠtj  ã                   ó>  — d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZmZmZmZ  ed	¦  «        \  ZZZ ed
ee¦  «        Z edee¦  «        Z edee¦  «        Z edee¦  «        Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&dS )é    )ÚMatrixÚeye)Ú
ShapeError)ÚMatAdd)ÚIdentityÚ	OneMatrixÚ
ZeroMatrix)Úsymbols)ÚraisesÚwarns_deprecated_sympy)ÚMatrixSymbol)ÚHadamardProductÚhadamard_productÚHadamardPowerÚhadamard_powerzn,m,kÚZÚAÚBÚCc                  ó¾  — t          t          t          t          ¦  «        j        t          j        k    sJ ‚t	          t
          d„ ¦  «         t	          t
          d„ ¦  «         t          t          dt          z  t           ¦  «        d         dt          d         z  t          d         z  t          d         z  k    sJ ‚t          t          t          z  t          ¦  «        t          z  } | j        t          t          fk    sJ ‚t          t          t          t          t          ¦  «        j        j        ¦  «        t          j        t          j        t          j        hk    sJ ‚d S )Nc                  ó6   — t          t          t          ¦  «        S ©N)r   r   Ún© ó    úl/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/matrices/expressions/tests/test_hadamard.pyú<lambda>z&test_HadamardProduct.<locals>.<lambda>   s   € �­qµ!Ñ4Ô4€ r   c                  ó,   — t          t          d¦  «        S )Né   )r   r   r   r   r   r   z&test_HadamardProduct.<locals>.<lambda>   s   € �­q°!Ñ4Ô4€ r   é   ©r   r   éþÿÿÿ)r   r   r   Úshaper   Ú	TypeErrorr   r   r   ÚkÚsetÚTÚargs)Úmixs    r   Útest_HadamardProductr*      s  € Ý�1�a¥Ñ#Ô#Ô)­Q¬WÒ4Ð4Ð4Ð4å
�9Ð4Ð4Ñ5Ô5Ð5Ý
�9Ð4Ð4Ñ5Ô5Ð5å�1˜a¥™c¥A 2Ñ&Ô& tÔ,Ø•�4”‰L�1˜Tœ7Ñ"¥Q t¤WÑ,ò-ð -ð -ð -õ �!�A™#�qÑ
!Ô
!¥!Ñ
#€CØŒ9��A˜ÒÐÐÐå��q¥!¥QÑ'Ô'Ô)Ô.Ñ/Ô/µA´C½¼½a¼c°?ÒBÐBÐBÐBÐBÐBr   c                  óv   — t          t          t          ¦  «        t          t          t          ¦  «        k    sJ ‚d S r   )r   r   r   r   r   r   Ú%test_HadamardProduct_isnt_commutativer,   !   s-   € Ý�1�aÑ Ô ¥OµAµqÑ$9Ô$9Ò9Ð9Ð9Ð9Ð9Ð9r   c                  ó  — t          ddd¦  «        } t          ddd¦  «        }t          ddd¦  «        }| t          ||¦  «        z  d         | d         |d         z  |d         z  | d         |d         z  |d         z  z   k    sJ ‚d S )NÚXr    ÚYr   ©r   r   ©r   r   ©r   r   )r   r   )r.   r/   r   s      r   Útest_mixed_indexingr3   %   sœ   € Ý�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€Aà�o˜a Ñ#Ô#Ñ# TÔ*ØˆdŒG�A�d”G‰O˜A˜dœGÑ# a¨¤g¨a°¬g¡o°a¸´gÑ&=Ñ=ò>ð >ð >ð >ð >ð >r   c                  óþ  — t          ddd¦  «        } t          ddd¦  «        }t          ¦   «         5  t          | d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |t          ¦  «        sJ ‚|                     ¦   «         }t          |t           ¦  «        sJ ‚t          dd¦  «        }t          dd¦  «        }t          || ¦  «                             ¦   «         |k    sJ ‚t          || | |¦  «                             ¦   «         t          | d¦  «        k    sJ ‚t          | ||¦  «                             ¦   «         t          | |¦  «        k    sJ ‚t          | |||¦  «                             ¦   «         |k    sJ ‚d S )Nr.   r    r/   F)Úcheck)r   r   r   Ú
isinstanceÚdoitr	   r   r   )r.   r/   ÚexprÚexpr2r   ÚUs         r   Útest_canonicalizer;   .   s¬  € Ý�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ	Ñ	!Ô	!ð /ð /Ý˜q¨Ð.Ñ.Ô.ˆð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /å�d�OÑ,Ô,Ð,Ð,Ð,Ø�IŠI‰KŒK€EÝ�e�\Ñ*Ô*Ð*Ð*Ð*Ý�1�aÑÔ€AÝ�!�Q‰Œ€AÝ˜1˜aÑ Ô ×%Ò%Ñ'Ô'¨1Ò,Ð,Ð,Ð,Ý˜1˜a  AÑ&Ô&×+Ò+Ñ-Ô-µ¸qÀ!Ñ1DÔ1DÒDÐDÐDÐDÝ˜1˜a Ñ#Ô#×(Ò(Ñ*Ô*­o¸aÀÑ.CÔ.CÒCÐCÐCÐCÝ˜1˜a  AÑ&Ô&×+Ò+Ñ-Ô-°Ò2Ð2Ð2Ð2Ð2Ð2s   ±AÁAÁAc                  ój  — t          dd¬¦  «        \  } }}t          d| |¦  «        }t          d| |¦  «        }t          d| | ¦  «        }t          | ¦  «        }t          t          d„ ¦  «         t          |¦  «        |k    sJ ‚t          t          ||¦  «        t          ¦  «        sJ ‚t          ||¦  «                             ¦   «         t          ||¦  «        k    sJ ‚t          ||¦  «        t          ||¦  «        k    sJ ‚t          t          ||¦  «        t          ¦  «        sJ ‚t          dt          d	¦  «        }t          t          t          d	¦  «        t          t          d	¦  «        ¦  «        }t          ||¦  «        }|                     ¦   «         |k    sJ ‚t          t          d
„ ¦  «         d S )Núm, n, pT©Úintegerr   r   r.   c                  ó   — t          ¦   «         S r   )r   r   r   r   r   ztest_hadamard.<locals>.<lambda>E   s   € Õ.Ñ0Ô0€ r   Úar   c                  ó   — t          ¦   «         S r   ©r   r   r   r   r   ztest_hadamard.<locals>.<lambda>Q   s   € �Ñ0Ô0€ r   )r
   r   r   r   r$   r   r6   r   r7   r%   r   r	   r   Ú
ValueError)	Úmr   Úpr   r   r.   ÚIrA   r8   s	            r   Útest_hadamardrH   >   s’  € Ý�i¨Ð.Ñ.Ô.�G€A€qˆ!Ý�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�‰Œ€Aå
�9Ð0Ð0Ñ1Ô1Ð1Ý˜AÑÔ !Ò#Ð#Ð#Ð#ÝÕ& q¨!Ñ,Ô,­oÑ>Ô>Ð>Ð>Ð>Ý˜A˜qÑ!Ô!×&Ò&Ñ(Ô(Õ,<¸QÀÑ,BÔ,BÒBÐBÐBÐBÝ˜A˜qÑ!Ô!¥_°Q¸Ñ%:Ô%:Ò:Ð:Ð:Ð:ÝÕ& q¨!Ñ,Ô,­oÑ>Ô>Ð>Ð>Ð>å�S�!˜QÑÔ€AÝ•*�Q Ñ"Ô"¥I­a°¡O¤OÑ4Ô4€DÝ˜4 Ñ#Ô#€DØ�9Š9‰;Œ;˜!ÒÐÐÐå
�:Ð0Ð0Ñ1Ô1Ð1Ð1Ð1r   c            	      óÆ  — t          ddd¦  «                             ¦   «         } t          ddd¦  «                             ¦   «         }t          ddd¦  «        }t          | |¦  «        }t          d„ t	          | |¦  «        D ¦   «         ¦  «                             dd¦  «        }||k    sJ ‚t          | ||¦  «        }|t          ||¦  «        k    sJ ‚t          t          d¦  «        | ¦  «        }|t          | d         ddgd| d         dgdd| d	         gg¦  «        k    sJ ‚t          t          d¦  «        t          d¦  «        ¦  «        }|t          d¦  «        k    sJ ‚d S )
Nr   é   r   r.   c                 ó   — g | ]
\  }}||z  ‘ŒS r   r   )Ú.0ÚiÚjs      r   ú
<listcomp>z;test_hadamard_product_with_explicit_mat.<locals>.<listcomp>Y   s    € Ð,Ð,Ð,™$˜!˜Q�!�A‘#Ð,Ð,Ð,r   r0   r   r!   )r    r    )r   Úas_explicitr   r   ÚzipÚreshaper   r   )r   r   r.   r8   Úrets        r   Ú'test_hadamard_product_with_explicit_matrT   T   sN  € Ý�S˜!˜QÑÔ×+Ò+Ñ-Ô-€AÝ�S˜!˜QÑÔ×+Ò+Ñ-Ô-€AÝ�S˜!˜QÑÔ€AÝ˜A˜qÑ!Ô!€DÝ
Ð,Ð,¥# a¨¡)¤)Ð,Ñ,Ô,Ñ
-Ô
-×
5Ò
5°a¸Ñ
;Ô
;€CØ�3Š;ˆ;ˆ;ˆ;Ý˜A˜q !Ñ$Ô$€DØ•? 3¨Ñ*Ô*Ò*Ð*Ð*Ð*Ý�C ™FœF AÑ&Ô&€DØ•6˜A˜dœG Q¨˜?¨Q°°$´¸¨O¸aÀÀAÀdÄG¸_ÐMÑNÔNÒNÐNÐNÐNÝ�C ™FœF¥C¨¡F¤FÑ+Ô+€DØ•3�q‘6”6Š>ˆ>ˆ>ˆ>ˆ>ˆ>r   c                  óÒ  ‡— t          dd¬¦  «        \  } }}t          d| |¦  «        Št          ‰d¦  «        ‰k    sJ ‚t          t          ‰d¦  «        t          ¦  «        sJ ‚t          ‰|¦  «        j        t          ‰j        |¦  «        k    sJ ‚t          ‰|¦  «        d         ‰d         |z  k    sJ ‚t          | |¦  «        | |z  k    sJ ‚t          t          ˆfd„¦  «         d S )	Nr=   Tr>   r   r   r    r0   c                  ó$   •— t          ‰ ‰ ¦  «        S r   )r   )r   s   €r   r   z%test_hadamard_power.<locals>.<lambda>l   s   ø€ �~¨a°Ñ3Ô3€ r   )r
   r   r   r6   r   r'   r   rD   )rE   r   rF   r   s      @r   Útest_hadamard_powerrW   c   sø   ø€ Ý�i¨Ð.Ñ.Ô.�G€A€qˆ!Ý�S˜!˜QÑÔ€Aå˜!˜QÑÔ 1Ò$Ð$Ð$Ð$Ý•n Q¨Ñ*Ô*­MÑ:Ô:Ð:Ð:Ð:Ý˜!˜QÑÔÔ!¥^°A´C¸Ñ%;Ô%;Ò;Ð;Ð;Ð;Ý˜!˜QÑÔ Ô%¨¨4¬°!©Ò3Ð3Ð3Ð3Ý˜!˜QÑÔ 1 a¡4Ò'Ð'Ð'Ð'Ý
�:Ð3Ð3Ð3Ð3Ñ4Ô4Ð4Ð4Ð4r   c                  ó
  — t          ddd¦  «        } t          ddd¦  «        }t          d¦  «        \  }}t          ||¦  «        ||z  k    sJ ‚t          ||¦  «                             ¦   «         t	          ||d         z  ||d         z  g||d         z  ||d         z  gg¦  «        k    sJ ‚t          | |¦  «                             ¦   «         t	          | d         |z  | d         |z  g| d         |z  | d         |z  gg¦  «        k    sJ ‚t          | |¦  «                             ¦   «         t	          | d         |d         z  | d         |d         z  g| d         |d         z  | d         |d         z  gg¦  «        k    sJ ‚d S )	Nr   r    r   za br0   r1   r2   r!   )r   r
   r   rP   r   )r   r   rA   Úbs       r   Útest_hadamard_power_explicitrZ   o   sÁ  € Ý�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�5‰>Œ>�D€A€qå˜˜AÑÔ ! Q¡$Ò&Ð&Ð&Ð&å˜˜AÑÔ×*Ò*Ñ,Ô,ÝØ��$”‰Z˜˜A˜dœG™Ð$Ø��$”‰Z˜˜A˜dœG™Ð$ð&ñ 	'ô 	'ò'ð 'ð 'ð 'õ
 ˜˜AÑÔ×*Ò*Ñ,Ô,ÝØˆtŒW�a‰Z˜˜4œ !™Ð$ØˆtŒW�a‰Z˜˜4œ !™Ð$ð&ñ 	'ô 	'ò'ð 'ð 'ð 'õ
 ˜˜AÑÔ×*Ò*Ñ,Ô,ÝØˆtŒW�a˜”gÑ˜q œw¨¨$¬Ñ/Ð0ØˆtŒW�a˜”gÑ˜q œw¨¨$¬Ñ/Ð0ð2ñ 	3ô 	3ò3ð 3ð 3ð 3ð 3ð 3r   c                  ó8  ‡ ‡— t          ddd¦  «        Š t          ddd¦  «        Št          t          ˆ ˆfd„¦  «         t          t          ˆ ˆfd„¦  «         t          ddd¦  «        Š t          t          ˆ ˆfd„¦  «         t          t          ˆ ˆfd„¦  «         d S )	Nr   r    rJ   r   c                  ó$   •— t          ‰ ‰¦  «        S r   rC   ©r   r   s   €€r   r   z"test_shape_error.<locals>.<lambda>‰   ó   ø€ �¨q°!Ñ4Ô4€ r   c                  ó$   •— t          ‰ ‰¦  «        S r   ©r   r]   s   €€r   r   z"test_shape_error.<locals>.<lambda>Š   ó   ø€ �}¨Q°Ñ2Ô2€ r   c                  ó$   •— t          ‰ ‰¦  «        S r   rC   r]   s   €€r   r   z"test_shape_error.<locals>.<lambda>Œ   r^   r   c                  ó$   •— t          ‰ ‰¦  «        S r   r`   r]   s   €€r   r   z"test_shape_error.<locals>.<lambda>�   ra   r   )r   r   r   r]   s   @@r   Útest_shape_errorrd   †   s±   øø€ Ý�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ
�:Ð4Ð4Ð4Ð4Ð4Ñ5Ô5Ð5Ý
�:Ð2Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ý�S˜!˜QÑÔ€AÝ
�:Ð4Ð4Ð4Ð4Ð4Ñ5Ô5Ð5Ý
�:Ð2Ð2Ð2Ð2Ð2Ñ3Ô3Ð3Ð3Ð3r   N)'Úsympy.matrices.denser   r   Úsympy.matrices.exceptionsr   Ú!sympy.matrices.expressions.mataddr   Ú"sympy.matrices.expressions.specialr   r   r	   Ú
sympy.corer
   Úsympy.testing.pytestr   r   Úsympy.matricesr   Úsympy.matrices.expressionsr   r   r   r   r   rE   r%   r   r   r   r   r*   r,   r3   r;   rH   rT   rW   rZ   rd   r   r   r   ú<module>rm      s´  ðØ ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ Ð Ð Ð Ð Ð Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ iÐ ià
ˆ'�'Ñ
Ô
�€€1€aØ€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€Ø€L��a˜ÑÔ€ðCð Cð Cð:ð :ð :ð>ð >ð >ð3ð 3ð 3ð 2ð 2ð 2ð,ð ð ð	5ð 	5ð 	5ð3ð 3ð 3ð.4ð 4ð 4ð 4ð 4r   