Ë
    7^(h+  ã                   ó2  — d dl mZmZ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mZmZmZ d dlmZmZmZmZ d dlmZ d dlmZmZmZm Z m!Z!m"Z"m#Z# d d	l$m%Z% d d
l&m'Z' d dl(m)Z) d dl*m+Z+ d dl,m-Z-m.Z.  edd¬«      \  Z/Z0Z1Z2 ed«      Z3 ede/e0«      Z4 ede0e1«      Z5 ede/e/«      Z6 ede/e/«      Z7 ede0e/«      Z8d„ Z9d„ Z:d„ Z;d„ Z<d„ Z=d„ Z>d„ Z?d„ Z@d„ ZAd „ ZBd!„ ZCd"„ ZDd#„ ZEd$„ ZFd%„ ZGd&„ ZHd'„ ZId(„ ZJd)„ ZKe-d*„ «       ZLd+„ ZMd,„ ZNd-„ ZOd.„ ZPd/„ ZQd0„ ZRd1„ ZSy2)3é    )ÚIÚsymbolsÚBasicÚMulÚS)Úmul)ÚadjointÚ	transpose)Ú
ShapeError)ÚIdentityÚInverseÚMatrixÚMatrixSymbolÚ
ZeroMatrixÚeyeÚImmutableMatrix)ÚAdjointÚ	TransposeÚdetÚMatPow)ÚGenericIdentity)Úfactor_in_frontÚ
remove_idsÚMatMulÚcombine_powersÚ	any_zerosÚunpackÚonly_squares)Ú	null_safe)ÚQ)Úrefine)ÚSymbol)ÚXFAILÚraiseszn m l kT©ÚintegerÚxÚAÚBÚCÚDÚEc                  óz   — t        t        t        d¬«      t        t        t        «      j                  «       k(  sJ ‚y )NT©Úevaluate)r   r*   Údoit© ó    új/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/matrices/expressions/tests/test_matmul.pyÚtest_evaluater4      s(   € Ü”!”Q Ô&¬&´´A«,×*;Ñ*;Ó*=Ò=Ð=Ñ=r2   c                  ój  — t        t        t        z  «      t        t        «      t        t        «      z  k(  sJ ‚t        dt        z  t        z  «      dt        t        «      z  t        t        «      z  k(  sJ ‚t        dt        z  t
        z  «      dt        z  t        t
        «      z  k(  sJ ‚t        ddddt        z   ddg«      } t        dddddt        z
  dg«      }t        | «      |k(  sJ ‚t        d| z  «      d|z  k(  sJ ‚t        t        d| «      «      t        d|«      j                  «       k(  sJ ‚y )Né   éþÿÿÿé   é   é   )	r	   r(   r)   r   r   r*   r   r   r0   )ÚMÚMAs     r3   Útest_adjointr=      s   € Ü”1”Q‘3‹<œ7¤1›:¤g¬a£jÑ0Ò0Ð0Ð0Ü�1”Q‘3”q‘5‹>˜Qœw¤q›z™\¬'´!«*Ñ4Ò4Ð4Ð4Ü�1”Q‘3”q‘5‹>˜R¤™T¤'¬!£*™_Ò,Ð,Ð,äˆq�!�a˜œQ™  1Ð%Ó&€AÜ	��1�q˜!˜Q¤™U AÐ&Ó	'€BÜ�1‹:˜ÒÐÐÜ�1�Q‘3‹<˜1˜R™4ÒÐÐÜ”6˜!˜Q“<Ó ¤F¨1¨b£M×$6Ñ$6Ó$8Ò8Ð8Ñ8r2   c                  ó¦  — t        t        t        z  «      t        t        «      t        t        «      z  k(  sJ ‚t        dt        z  t        z  «      dt        t        «      z  t        t        «      z  k(  sJ ‚t        dt        z  t
        z  «      dt        z  t        t
        «      z  k(  sJ ‚t        ddddt        z   ddg«      } t        dddddt        z   dg«      }t        | «      |k(  sJ ‚t        d| z  «      d|z  k(  sJ ‚t        t        | z  «      t        |z  k(  sJ ‚t        t        d| «      «      t        d|«      j                  «       k(  sJ ‚y )Nr6   r8   r9   r:   )
r
   r(   r)   r   r   r*   r   r'   r   r0   )r;   ÚMTs     r3   Útest_transposer@   )   s  € Ü”Q”q‘S‹>œY¤q›\¬)´A«,Ñ6Ò6Ð6Ð6Ü�Q”q‘Sœ‘UÓ˜q¤¬1£™~¬i¼«lÑ:Ò:Ð:Ð:Ü�Q”q‘Sœ‘UÓ˜q¤™s¤9¬Q£<Ñ/Ò/Ð/Ð/äˆq�!�a˜œQ™  1Ð%Ó&€AÜ	��1�q˜!˜Q¤™U AÐ&Ó	'€BÜ�Q‹<˜2ÒÐÐÜ�Q�q‘S‹>˜Q˜r™TÒ!Ð!Ð!Ü”Q�q‘S‹>œQ˜r™TÒ!Ð!Ð!Ü”V˜A˜q“\Ó"¤f¨Q°£m×&8Ñ&8Ó&:Ò:Ð:Ñ:r2   c                  óx   — t        t        t        dt        d¬«      «      t        dt        t        d¬«      k(  sJ ‚y )Nr6   Fr.   )r   r   r(   r)   r1   r2   r3   Útest_factor_in_frontrB   6   s2   € Üœ6¤! Q¬°EÔ:Ó;Ü! !¤Q¬°EÔ:ò;ð ;ñ ;r2   c                  ó$  — t        t        t        t        t        «      t
        d¬«      «      t        t        t
        d¬«      k(  sJ ‚ t        t         «      t        t        t        «      d¬«      «      t        t        t        «      d¬«      k(  sJ ‚y ©NFr.   )r   r   r(   r   Úmr)   r   Únr1   r2   r3   Útest_remove_idsrG   ;   sn   € Ü”fœQ¤¬£¬Q¸Ô?Ó@ÜœQ¤¨EÔ2ò3ð 3ð 3à Œ9”ZÓ ¤¬´«¸eÔ!DÓEÜ!'¬´«¸eÔ!DòEð Eñ Er2   c            
      óJ  — t        t        t        t        t        «      t        d¬«      «      t        t	        t
        «      t        d¬«      k(  sJ ‚t        t        t        j                  t        t        t        z  «      t        t        t        d¬«      «      t        t        j                  t	        t        «      t        d¬«      k(  sJ ‚t        t        t        t        t        t        t        z  «      t        d¬«      «      t        t	        t
        «      t        d¬«      k(  sJ ‚y rD   )r   r   r+   r   r   rF   r)   ÚTr,   r(   rE   r1   r2   r3   Útest_combine_powersrJ   B   s¼   € Üœ&¤¤G¬A£J´¸EÔBÓCÜœ¤›¤Q°Ô7ò8ð 8ð 8äœ&¤§¡¤g¬a´©c£l´A´q¼!ÀeÔLÓMÜŒq�s‰s”HœQ“K¤¨UÔ3ò4ð 4ð 4äœ&¤¤A¤w¬q´©s£|´QÀÔGÓHÜŒxœ‹{œA¨Ô.ò/ð /ñ /r2   c            	      óŒ   — t        t        t        t        t        t
        «      d¬«      «      t        t        t
        «      k(  sJ ‚y rD   )r   r   r(   r   rE   ÚkrF   r1   r2   r3   Útest_any_zerosrM   K   s3   € Ü”VœAœz¬!¬QÓ/¸%Ô@ÓAÜ¤¤1Ó%ò&ð &ñ &r2   c                  ó’   — t        t        t        d¬«      «      t        k(  sJ ‚t        t        t        «      } t        | «      | k(  sJ ‚y rD   )r   r   r(   r)   )r'   s    r3   Útest_unpackrO   P   s7   € Ü”&œ UÔ+Ó,´Ò1Ð1Ð1ÜŒq”!‹€AÜ�!‹9˜Š>Ð‰>r2   c                  ó  — t        t        «      t        gk(  sJ ‚t        t        t        «      t        t        gk(  sJ ‚t        t        t        t        j                  t        «      t        t        t        j                  z  t        gk(  sJ ‚y ©N)r   r*   r+   r(   rI   r1   r2   r3   Útest_only_squaresrR   V   sZ   € Üœ‹?œq˜cÒ!Ð!Ð!Üœœ1Ó¤!¤Q Ò'Ð'Ð'Üœœ1œaŸc™c¤1Ó%¬!¬Q¬q¯s©s©U´A¨Ò6Ð6Ñ6r2   c                  óæ  — t        dt        z  «      dt        z  t        t        «      z  k(  sJ ‚t        dt        z  t        z  «      dt        z  t        t        «      z  t        t        «      z  k(  sJ ‚t        dt        z  t        z  t        j
                  z  t        z  «      dt        z  t        t        «      z  t        t        t        j
                  z  «      z  t        t        «      z  k(  sJ ‚y )Nr6   r9   )r   r*   rF   r+   r(   rI   r1   r2   r3   Útest_determinantrT   \   s    € Üˆq”‰s‹8�qœ!‘tœC¤›F‘{Ò"Ð"Ð"Üˆq”‰s”1‰u‹:˜œA™œc¤!›f™¤S¬£VÑ+Ò+Ð+Ð+Üˆq”‰s”1‰u”Q—S‘S‰yœ‰{Ó˜q¤!™t¤C¬£F™{¬3¬q´·±©u«:Ñ5´c¼!³fÑ<Ò<Ð<Ñ<r2   c                  óB  — t        t        dt        «      j                  t        dt        fk(  sJ ‚t        t        dt        «      j	                  «       j                  dt        t        fk(  sJ ‚t        t        t        t        t        z  «      «      j                  t        t        t        t        z  «      fk(  sJ ‚t        t        t        t        t        z  «      «      j	                  d¬«      j                  t        t        j                  t        j                  fk(  sJ ‚y )Nr6   T©Údeep)r   r*   r+   Úargsr0   r   rI   r1   r2   r3   Ú	test_doitrY   b   s¾   € Ü”!�Qœ‹?×Ñ¤A q¬! 9Ò,Ð,Ð,Ü”!�Qœ‹?×ÑÓ!×&Ñ&¨1¬a´¨)Ò3Ð3Ð3Ü”!”Yœq¤™s“^Ó$×)Ñ)¬a´¼1¼Q¹3³Ð-@Ò@Ð@Ð@Ü”!”Yœq¤™s“^Ó$×)Ñ)¨tÐ)Ó4×9Ñ9¼aÄÇÁÄaÇcÁc¸]ÒJÐJÑJr2   c                  ón  — t        ddgddgg«      } t        ddgddgg«      }t        | t        |d«      «      j                  «       | |dz  z  k(  sJ ‚t        t        t        t        t        z  «      «      j                  «       j                  t        t        j                  t        j                  fk(  sJ ‚y )Nr8   r6   r9   r:   é   )	r   r   r   r0   r*   r   r+   rX   rI   )ÚXÚYs     r3   Útest_doit_drills_downr^   i   s–   € Ü˜!˜Q˜ ! Q Ð(Ó)€AÜ˜!˜Q˜ ! Q Ð(Ó)€AÜ�!”V˜A˜q“\Ó"×'Ñ'Ó)¨Q¨q°!©t©VÒ3Ð3Ð3Ü”!”Yœq¤™s“^Ó$×)Ñ)Ó+×0Ñ0´Q¼¿¹¼Q¿S¹S°MÒAÐAÑAr2   c                  óÂ   — t        t        t        t        t        z  «      d«      j	                  d¬«      j
                  dt        t        t        t        z  «      fk(  sJ ‚y )Nr6   FrV   )r   r*   r   r+   r0   rX   r1   r2   r3   Ú$test_doit_deep_false_still_canonicalr`   p   sK   € Ü”1”i¤¤!¡“n aÓ(×-Ñ-°5Ð-Ó9×>Ñ>Ø””9œQœq™S“>Ð"ò#ð $ñ #r2   c                  ój   — t        ddgddgg«      } t        d| «      j                  «       d| z  k(  sJ ‚y )Nr8   r6   r9   r:   )r   r   r0   )r\   s    r3   Útest_matmul_scalar_Matrix_doitrb   u   s:   € ä��A�˜˜A˜ÐÓ €AÜ�!�Q‹<×ÑÓ ! A¡#Ò%Ð%Ñ%r2   c                  óz   — t        t        t        d«      t        d«      «      j                  d   t        «      sJ ‚y )Nr8   r   )Ú
isinstancer   r   rX   r   r1   r2   r3   Útest_matmul_sympifyre   {   s,   € Ü”fœS ›V¤S¨£VÓ,×1Ñ1°!Ñ4´eÔ<Ð<Ñ<r2   c                  ó¤   — t        ddgddgg«      } t        ddgddgg«      }t        | |«      j                  «       t        ddgddgg«      k(  sJ ‚y )Nr8   r6   r9   r:   é   )r   r   r0   r   ©r(   r)   s     r3   Útest_collapse_MatrixBaseri      s_   € Ü��A�˜˜A˜ÐÓ €AÜ��A�˜˜A˜ÐÓ €AÜ�!�Q‹<×ÑÓ¤/°A°q°6¸A¸q¸6Ð2BÓ"CÒCÐCÑCr2   c                  ó4  — t        t        t        j                  z  t        z  t	        j
                  t        «      «      j                  «       t        k(  sJ ‚t        t        z  } t        | t        j                  z  t	        j
                  t        «      «      j                  «       t        t        t        «      z  k(  sJ ‚t        | | j                  z  t	        j
                  t        «      «      j                  «       t        dz  t        t        «      z  k(  sJ ‚y )Nr6   )
r!   r*   rI   r+   r    Ú
orthogonalr0   rL   r   rF   )ÚkCs    r3   Útest_refinerm   …   s®   € Ü”!”A—C‘C‘%œ‘'œ1Ÿ<™<¬›?Ó+×0Ñ0Ó2´aÒ7Ð7Ð7ä	
Œ1‰€BÜ�"”Q—S‘S‘&œ!Ÿ,™,¤q›/Ó*×/Ñ/Ó1´Q´xÄ³{±]ÒBÐBÐBÜ�"�b—d‘d‘(œAŸL™L¬›OÓ,×1Ñ1Ó3¼¸1¹¼hÄq»kÑ7IÒIÐIÑIr2   c                  ó´   — t        d«      dk(  sJ ‚t        t        t        «      t        t        z  k(  sJ ‚t        t        t        t        «      t         «      rJ ‚y )Nr8   )r   rF   rE   rd   r1   r2   r3   Útest_matmul_no_matricesro   Œ   sC   € Ü�!‹9˜Š>Ðˆ>Ü”!”Q‹<œ1œQ™3ÒÐÐÜœ&¤¤A›,¬Ô/Ð/Ð/Ð/r2   c                  ó4  — t        t        t        t        j                  «      j	                  «       t        gt        t        j                  ggk(  sJ ‚t        t        t        j                  «      j	                  «       g t        t        j                  ggk(  sJ ‚y rQ   )r   rF   r(   rI   Úargs_cncr1   r2   r3   Útest_matmul_args_cncrr   ‘   sa   € Ü”!”QœŸ™Ó×%Ñ%Ó'¬Q¨C´!´Q·S±S°¨?Ò:Ð:Ð:Ü”!”Q—S‘S‹>×"Ñ"Ó$¨¬a´·±¨X¨Ò6Ð6Ñ6r2   c                  óx  — t        dd¬«      \  } }t        t        | |t        t        j                  «      j                  «       t        g| |t        t        j                  ggk(  sJ ‚t        t        | t        |t        j                  «      j                  «       t        g| t        |t        j                  ggk(  sJ ‚y )Nza bF)Úcommutative)r   r   rF   r(   rI   rq   )ÚaÚbs     r3   Útest_matmul_args_cnc_symbolsrw   •   sŠ   € ô �5 eÔ,�D€A€qÜ”!�Q˜œ1œaŸc™cÓ"×+Ñ+Ó-´1°#¸¸1¼aÄÇÁ°~Ð1FÒFÐFÐFÜ”!�Qœ˜1œaŸc™cÓ"×+Ñ+Ó-´1°#¸¼1¸aÄÇÁ°~Ð1FÒFÐFÑFr2   c                  óÌ   — t        t        d«      gg«      t        ddd«      z  } t        ddd«      j                  «       d   t        d«      z  | j                  «       d   k(  sJ ‚y )Nr'   r(   r8   r   )r   r"   r   Úas_explicit)r;   s    r3   Útest_issue_12950rz   œ   s\   € Ü”˜“�ˆÓ¤,¨s°A°qÓ"9Ñ9€AÜ˜˜Q Ó"×.Ñ.Ó0°Ñ3´F¸3³KÑ?À1Ç=Á=Ã?ÐSTÑCUÒUÐUÑUr2   c                  ó°   — t        t        t        «      t        t        t        «      k(  sJ ‚t        t        t        «      t        t        t        «      k(  sJ ‚y rQ   )r   r*   r+   r   r1   r2   r3   Útest_construction_with_Mulr|       s6   € ÜŒq”!‹9œœq¤!›Ò$Ð$Ð$ÜŒq”!‹9œœq¤!›Ò$Ð$Ñ$r2   c                  ó  — t        t        t        «      t        t        t        «      k(  sJ ‚t        t        t        «      t        t        t        «      k(  sJ ‚t        t        t        «      t        t        t        «      k7  sJ ‚y rQ   )r   r*   r+   r   r1   r2   r3   Útest_construction_with_mulr~   ¤   sP   € ÜŒq”!‹9œœq¤!›Ò$Ð$Ð$ÜŒq”!‹9œœq¤!›Ò$Ð$Ð$ÜŒq”!‹9œœq¤!›Ò$Ð$Ñ$r2   c                  ó„   — t         j                  t        «       k(  sJ ‚t         j                  t        j                  k7  sJ ‚y rQ   )r   Úidentityr   r   ÚOner1   r2   r3   Útest_generic_identityr‚   ©   s-   € Ü�?‰?œoÓ/Ò/Ð/Ð/Ü�?‰?œaŸe™eÒ#Ð#Ñ#r2   c                  óÈ   — t        dd¬«      } t        d| | «      }t        d| | «      }t        | «      }|d||z   z  |z  z   |z   }|j                  |«      d|z  d|z  z   k(  sJ ‚y )NÚNTr%   ÚM1ÚM2r6   )r"   r   r   Úcoeff)r„   r…   r†   r   Úzs        r3   Útest_issue_23519r‰   ®   sq   € Üˆs˜DÔ!€AÜ	�d˜A˜qÓ	!€BÜ	�d˜A˜qÓ	!€BÜ�‹€AØ	ˆa�2˜‘6‰l˜RÑÑ	 !Ñ	#€AØ�7‰7�2‹;˜!˜A™#  "¡™*Ò$Ð$Ñ$r2   c                  ód   ‡ ‡— t        ddd«      Š t        ddd«      Št        t        ˆ ˆfd„«       y )Nr(   r6   r)   r9   c                  ó   •— t        ‰ ‰«      S rQ   )r   rh   s   €€r3   ú<lambda>z"test_shape_error.<locals>.<lambda>º   s   ø€ œv a¨›|€ r2   )r   r$   r   rh   s   @@r3   Útest_shape_errorr�   ·   s*   ù€ Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ
Œ:Ô+Õ,r2   c                  óê   — t        ddddt        z   ddg«      } t        d«      }t        || «      j                  j                  «       |t        ddgdt        z   dgg«      z  j                  «       k(  sJ ‚y )Nr6   r8   r9   r:   ru   )r   r   r"   r   rI   Úexpand)r;   ru   s     r3   Útest_matmul_transposer�   ½   sk   € äˆq�!�a˜œQ™  1Ð%Ó&€AÜˆs‹€AÜ�1�a‹L�N‰N×"Ñ"Ó$¨¬6°A°q°6¸1¼q¹5À!¸*Ð2EÓ+FÑ)F×(NÑ(NÓ(PÒPÐPÑPr2   N)TÚ
sympy.corer   r   r   r   r   Úsympy.core.mulr   Úsympy.functionsr	   r
   Úsympy.matrices.exceptionsr   Úsympy.matricesr   r   r   r   r   r   r   Úsympy.matrices.expressionsr   r   r   r   Ú"sympy.matrices.expressions.specialr   Ú!sympy.matrices.expressions.matmulr   r   r   r   r   r   r   Úsympy.strategiesr   Úsympy.assumptions.askr    Úsympy.assumptions.refiner!   Úsympy.core.symbolr"   Úsympy.testing.pytestr#   r$   rF   rE   ÚlrL   r'   r(   r)   r*   r+   r,   r4   r=   r@   rB   rG   rJ   rM   rO   rR   rT   rY   r^   r`   rb   re   ri   rm   ro   rr   rw   rz   r|   r~   r‚   r‰   r�   r�   r1   r2   r3   ú<module>rŸ      sO  ðß 0Õ 0Ý ß .Ý 0÷÷ ñ ç FÓ FÝ >÷A÷ Añ Aå &Ý #Ý +Ý $ç .á�Y¨Ô-�
€€1€aˆÙˆCƒL€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€Ù��a˜Ó€ò>ò	9ò
;ò;ò
Eò/ò&ò
ò7ò=òKòBò$ò
&ò=òDòJò0ò
7ð ñGó ðGòVò%ò%ò
$ò
%ò-óQr2   