§
    OŠtj  ã                   óz  — d Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
mZ ddlmZ ddlmZ  eddd¦  «        Z ed	dd
¦  «        Z eg d¢g d¢g d¢g¦  «        Z eg d¢g d¢g d¢g¦  «        Z ed¦  «        Z e ed¦  «        ¦  «        Z ed¦  «        Z ed¦  «        \  ZZZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z dS )z
We have a few different kind of Matrices
Matrix, ImmutableMatrix, MatrixExpr

Here we test the extent to which they cooperate
é    )Úsymbols)ÚMatrixÚMatrixSymbolÚeyeÚIdentityÚImmutableMatrix)Ú
MatrixExprÚMatAdd©Úclassof)ÚraisesÚXé   Úvé   )r   é   r   )é   é   é   )é   é   é	   za,b,cc                  ó&  — t          t          t          z   t          ¦  «        sJ ‚t          t          t          z   t          ¦  «        sJ ‚t          dt          z  t          z   t          ¦  «        sJ ‚t                               t          ¦  «        sJ ‚d S )Nr   )Ú
isinstanceÚMMÚIMr   Úequals© ó    úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/matrices/tests/test_interactions.pyÚ
test_IM_MMr!      so   € Ý•b�2‘g�Ñ/Ô/Ð/Ð/Ð/Ý•b�2‘g�Ñ/Ô/Ð/Ð/Ð/Ý�a�‘d�R‘i¥Ñ1Ô1Ð1Ð1Ð1Ý�9Š9•R‰=Œ=ÐÐˆ=ÐÐr   c                  ó4  — t          t          d¦  «        t          z   t          ¦  «        sJ ‚t          t          t          z   t
          ¦  «        sJ ‚t          t          t          z   t
          ¦  «        sJ ‚t          d¦  «        t          z   d         dk    sJ ‚d S )Nr   ©r   r   r   )r   r   r   r	   ÚSMr
   r   r   r    Ú
test_ME_MMr%       s~   € Ý•h˜q‘k”k¥BÑ&­
Ñ3Ô3Ð3Ð3Ð3Ý•b�2‘g�vÑ&Ô&Ð&Ð&Ð&Ý•b�2‘g�vÑ&Ô&Ð&Ð&Ð&Ý�Q‰KŒK�"Ñ˜dÔ# qÒ(Ð(Ð(Ð(Ð(Ð(r   c                  óÈ   — t          d¦  «        t          d¦  «        t          t          d¦  «        ¦  «        }}} | ||fD ]!}| ||fD ]}|                     |¦  «        sJ ‚ŒŒ"d S )Nr   )r   r   r   r   )ÚaÚbÚcÚxÚys        r    Útest_equalityr,   '   sz   € Ý�q‰kŒk�3˜q™6œ6¥?µ3°q±6´6Ñ#:Ô#:ˆ!€q€AØ��AˆYð ð ˆØ�Q˜�ð 	ð 	ˆAØ—8’8˜A‘;”;ÐÐ�;Ðð	ðð r   c                  óz   — t          ddd¦  «        } t          d¦  «        | z   }|d         d| d         z   k    sJ ‚d S )Nr   r   r#   r   )r   r   )r   ÚYs     r    Útest_matrix_symbol_MMr/   .   sE   € Ý�S˜!˜QÑÔ€AÝˆA‰Œ�‰
€AØˆTŒ7�a˜!˜Dœ'‘kÒ!Ð!Ð!Ð!Ð!Ð!r   c                  óê   — t           t          z  } t          t          z  }| |k    sJ ‚t          j        t           j        z  j        }||k    sJ ‚t          j        t          j        z  j        }||k    sJ ‚d S ©N)r   ÚSVr   ÚT)ÚAÚBÚCÚDs       r    Ú/test_matrix_symbol_vector_matrix_multiplicationr8   4   s]   € Ý
�R‰€AÝ
�R‰€AØ�Š6ˆ6ˆ6ˆ6Ý	Œ•”‰Œ€AØ�Š6ˆ6ˆ6ˆ6Ý	Œ•”‰Œ€AØ�Š6ˆ6ˆ6ˆ6ˆ6ˆ6r   c                  óŒ  — t           t          z  d         dt           z  k    sJ ‚t          t          z   d         t          d         t          d         z   k    sJ ‚t          t          z  d         t          d         t          d         z  t          d         t          d         z  z   t          d         t          d         z  z   k    sJ ‚d S )Nr#   r   )r   r   )r   r   )r   r   )r   r   )r'   r   r$   r   r   r    Útest_indexing_interactionsr:   >   s¤   € Ý•‰F�DŒ>˜Q�q™SÒ Ð Ð Ð Ý•‰G�TŒ?�b œh­¨D¬Ñ1Ò1Ð1Ð1Ð1Ý•‰G�TŒ?�b œh¥r¨$¤xÑ/µ"°T´(½2¸d¼8Ñ2CÑCÝ
ˆ4Œ•�D”Ññò ð ð ð ð ð r   c                  ó®  ‡‡— t          ddt          d¦  «        ¦  «        Št          ddt          d¦  «        ¦  «        } t          ddd¦  «        Št	          ‰‰¦  «        t           k    sJ ‚t	          | | ¦  «        t          k    sJ ‚t	          ‰| ¦  «        t          k    sJ ‚t	          | ‰¦  «        t          k    sJ ‚t          t          ˆˆfd„¦  «         d S )Nr   r   r6   c                  ó$   •— t          ‰ ‰¦  «        S r1   r   )r4   r6   s   €€r    ú<lambda>ztest_classof.<locals>.<lambda>M   s   ø€ �g a¨™mœm€ r   )r   Úranger   r   r   r   Ú	TypeError)r5   r4   r6   s    @@r    Útest_classofr@   E   sÊ   øø€ Ýˆq�!•U˜1‘X”XÑÔ€AÝ˜˜1�e A™hœhÑ'Ô'€AÝ�S˜!˜QÑÔ€AÝ�1�a‰=Œ=�FÒ"Ð"Ð"Ð"Ý�1�a‰=Œ=�OÒ+Ð+Ð+Ð+Ý�1�a‰=Œ=�OÒ+Ð+Ð+Ð+Ý�1�a‰=Œ=�OÒ+Ð+Ð+Ð+Ý
�9Ð+Ð+Ð+Ð+Ð+Ñ,Ô,Ð,Ð,Ð,r   N)!Ú__doc__Úsympy.core.symbolr   Úsympy.matricesr   r   r   r   r   Úsympy.matrices.expressionsr	   r
   Úsympy.matrices.matrixbaser   Úsympy.testing.pytestr   r$   r2   r   r   ÚmeyeÚimeyeÚideyer'   r(   r)   r!   r%   r,   r/   r8   r:   r@   r   r   r    ú<module>rJ      sÈ  ððð ð &Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð ð ð ð à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø -Ð -Ð -Ð -Ð -Ð -Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à€\�#�q˜!ÑÔ€Ø€\�#�q˜!ÑÔ€Ø€VˆYˆYˆY˜	˜	˜	 9 9 9Ð-Ñ.Ô.€Ø€_�i�i�i   ¨I¨I¨IÐ6Ñ7Ô7€Ø
€sˆ1�v„v€Øˆ˜˜˜A™œÑÔ€Øˆ�‰Œ€Ø
ˆ'�'Ñ
Ô
�€€1€aðð ð ð)ð )ð )ðð ð ð"ð "ð "ðð ð ðð ð ð-ð -ð -ð -ð -r   