Ë
    7^(h  ã                   óB  — 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 y)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        j	                  t        «      sJ ‚y )Nr   )Ú
isinstanceÚMMÚIMr   Úequals© ó    úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/matrices/tests/test_interactions.pyÚ
test_IM_MMr!      sR   € Ü”bœ2‘gœÔ/Ð/Ð/Ü”bœ2‘gœÔ/Ð/Ð/Ü�aœ‘dœR‘i¤Ô1Ð1Ð1Ü�9‰9”RŒ=Ð‰=r   c                  óð   — 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 ‚y )Nr   ©r   r   r   )r   r   r   r	   ÚSMr
   r   r   r    Ú
test_ME_MMr%       s_   € Ü”h˜q“k¤BÑ&¬
Ô3Ð3Ð3Ü”bœ2‘gœvÔ&Ð&Ð&Ü”bœ2‘gœvÔ&Ð&Ð&Ü�Q‹Kœ"Ñ˜dÑ# qÒ(Ð(Ñ(r   c                  ó¦   — t        d«      t        d«      t        t        d«      «      }}} | ||fD ]  }| ||fD ]  }|j                  |«      rŒJ ‚ Œ! y )Nr   )r   r   r   r   )ÚaÚbÚcÚxÚys        r    Útest_equalityr,   '   sZ   € Ü�q‹kœ3˜q›6¤?´3°q³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 ‚y )Nr   r   r#   r   )r   r   )r   ÚYs     r    Útest_matrix_symbol_MMr/   .   s7   € Ü�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 ‚y ©N)r   ÚSVr   ÚT)ÚAÚBÚCÚDs       r    Ú/test_matrix_symbol_vector_matrix_multiplicationr8   4   s_   € Ü
ŒR‰€AÜ
ŒR‰€AØ�Š6€Mˆ6Ü	�‰”—‘‰�‰€AØ�Š6€Mˆ6Ü	�‰”—‘‰�‰€AØ�Š6€M‰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 ‚y )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Ü”‰G�T‰?œb ™h¤r¨$¡xÑ/´"°T±(¼2¸d¹8Ñ2CÑCÜ
ˆ4‰”�D‘Ññò ð ñ r   c                  óJ  ‡‡— 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„«       y )Nr   r   r6   c                  ó   •— t        ‰ ‰«      S r1   r   )r4   r6   s   €€r    ú<lambda>ztest_classof.<locals>.<lambda>M   s   ø€ œg a¨›m€ r   )r   Úranger   r   r   r   Ú	TypeError)r5   r4   r6   s    @@r    Útest_classofr@   E   s�   ù€ Üˆq�!”U˜1“XÓ€AÜ˜˜1œe A›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Ý -Ý 'á�#�q˜!Ó€Ù�#�q˜!Ó€ÙŠYš	¢9Ð-Ó.€Ù’i¢ªIÐ6Ó7€Ù
ˆ1ƒv€Ù™˜A›Ó€Ù�‹€Ù
�'Ó
�€€1€aòò)òò"òòó-r   