Ë
    7^(h×*  ã                   ó&  — d dl 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mZmZ d dlmZmZmZmZmZ  ed«      \  ZZZ ed«      \  ZZZ ed	«      Z ed
«      Zedz  ej8                  z  eej:                  z  z   e e	e«      z  ej<                  z  z   Zeej8                  z   e	e«      ej:                  z  z   eez  ej<                  z  z   Z eej8                  z   ee«      ej:                  z  z   ejC                  «       ez  ej<                  z  z
  Z"eez  ej8                  z  eez   ez  ej:                  z  z   edz  ez  ej<                  z  z   Z#edz  ej8                  ej:                  z  z  eej:                  ej:                  z  z  z   e e	e«      z  ej<                  ej:                  z  z  z   Zeej8                  ej8                  z  z   e	e«      ej:                  ej<                  z  z  z   eez  ej<                  ej8                  z  z  z   Zej8                  ej:                   ej<                  z
  z  Z$ej8                  ej:                  ej<                  z   z  Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5y)é    )ÚFunction)Úsymbols)Úsqrt)ÚasinÚcosÚsin)ÚReferenceFrameÚdynamicsymbolsÚDyadic)ÚVectorLatexPrinterÚvpprintÚvsprintÚ	vsstrreprÚvlatexúa, b, czalpha, omega, betaÚAÚNé   c                 ó   — t        | dd¬«      S )NF©Úuse_unicodeÚ	wrap_line©r   ©Úexprs    úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/physics/vector/tests/test_printing.pyÚascii_vprettyr      s   € Ü�4 U°eÔ<Ð<ó    c                 ó   — t        | dd¬«      S )NTFr   r   r   s    r   Úunicode_vprettyr        s   € Ü�4 T°UÔ;Ð;r   c                  óx  —  t        d«      d«      } t        «       j                  | dz  «      dk(  sJ ‚ t        d«      d«      }t        «       j                  |j                  «       «      dk(  sJ ‚ t        d«      d«      }t        «       j                  |j                  «       j                  «       «      dk(  sJ ‚y )	NÚrÚtr   zr^{2}zr^2z\dot{r^{2}}Úr__az\ddot{r^{a}})r   r   ÚdoprintÚdiff)r"   Úr2Úras      r   Útest_latex_printerr)   $   sž   € ØŒ�‹�cÓ€AÜÓ×'Ñ'¨¨Q©Ó/°7Ò:Ð:Ð:Ø	Œ�%‹˜Ó	€BÜÓ×'Ñ'¨¯©«	Ó2°nÒDÐDÐDØ	Œ�&Ó	˜#Ó	€BÜÓ×'Ñ'¨¯©«	¯©Ó(8Ó9¸_ÒLÐLÑLr   c                  ó  — d} d}t        t        «      | k(  sJ ‚t        t        «      |k(  sJ ‚d} d}t        t        «      | k(  sJ ‚t        t        «      |k(  sJ ‚d} d}t        t        «      | k(  sJ ‚t        t        «      |k(  sJ ‚t        t
        j                   «      dk(  sJ ‚t        t
        j                   «      dk(  sJ ‚t        dt
        j                  z  «      d	k(  sJ ‚t        dt
        j                  z  «      d	k(  sJ ‚y )
NzC 2                               
a  n_x + b n_y + c*sin(alpha) n_zu>    2                           
a  n_x + b n_y + câ‹…sin(Î±) n_zz+alpha n_x + sin(omega) n_y + alpha*beta n_zu"   Î± n_x + sin(Ï‰) n_y + Î±â‹…Î² n_zzk                     2    
a       b + c       c     
- n_x + ----- n_y + -- n_z
b         a         b     u{                        2    
a       b + c       c     
â”€ n_x + â”€â”€â”€â”€â”€ n_y + â”€â”€ n_z
b         a         b     z-a_xr   Ú0)r   Úvr    ÚwÚor   Úx©ÚexpectedÚ	uexpecteds     r   Útest_vector_pretty_printr3   -   s
  € ð€Hð€Iô
 œÓ˜xÒ'Ð'Ð'Üœ1Ó Ò*Ð*Ð*à<€HØ4€IäœÓ˜xÒ'Ð'Ð'Üœ1Ó Ò*Ð*Ð*ð€Hð€Iô œÓ˜xÒ'Ð'Ð'Üœ1Ó Ò*Ð*Ð*ô œ!Ÿ#™#˜Ó &Ò(Ð(Ð(ÜœAŸC™C˜4Ó  FÒ*Ð*Ð*ô ˜œ1Ÿ3™3™Ó 3Ò&Ð&Ð&Ü˜1œQŸS™S™5Ó! SÒ(Ð(Ñ(r   c                  ó   — t        d«      \  } }}}}| dz  ||z  z   t        j                  z  t        |«      t        j                  z  z   t        |«      t        j                  z  z   }t        |«      dk(  sJ ‚t        d«      \  }}}}|t        j                  z  ||z  t        j                  z  z   ||z  t        j                  z  z   }t        |«      dk(  sJ ‚t        d«      \  }	}
}t        d«      \  }}}t        |«      t        j                  z  t        |	«      t        |
«      z  t        j                  z  z   t        ||z   «      t        j                  z  z   }t        |«      dk(  sJ ‚t        d	«      }t        d«      \  } }}}}| dz  ||z  z   |j                  z  t        |«      |j                  z  z   t        |«      |j                  z  z   }d
}t        |«      |k(  sJ ‚t        d	d¬«      }| dz  ||z  z   |j                  z  t        |«      |j                  z  z   t        |«      |j                  z  z   }d}t        |«      |k(  sJ ‚d}t        t        «      |k(  sJ ‚d}t        t        «      |k(  sJ ‚d}t        t        «      |k(  sJ ‚y )Nza, b, c, d, omegar   zs(a^{2} + \frac{b}{c})\mathbf{\hat{a}_x} + \sqrt{d}\mathbf{\hat{a}_y} + \cos{\left(\omega \right)}\mathbf{\hat{a}_z}ztheta, omega, alpha, qzT\theta\mathbf{\hat{a}_x} + \omega^{2}\mathbf{\hat{a}_y} + \alpha q\mathbf{\hat{a}_z}zphi1, phi2, phi3ztheta1, theta2, theta3z¼\sin{\left(\theta_{1} \right)}\mathbf{\hat{a}_x} + \cos{\left(\phi_{1} \right)} \cos{\left(\phi_{2} \right)}\mathbf{\hat{a}_y} + \cos{\left(\theta_{1} + \phi_{3} \right)}\mathbf{\hat{a}_z}r   zs(a^{2} + \frac{b}{c})\mathbf{\hat{n}_x} + \sqrt{d}\mathbf{\hat{n}_y} + \cos{\left(\omega \right)}\mathbf{\hat{n}_z})z\hat{i}z\hat{j}z\hat{k})ÚlatexszR(a^{2} + \frac{b}{c})\hat{i} + \sqrt{d}\hat{j} + \cos{\left(\omega \right)}\hat{k}z~\alpha\mathbf{\hat{n}_x} + \operatorname{asin}{\left(\omega \right)}\mathbf{\hat{n}_y} -  \beta \dot{\alpha}\mathbf{\hat{n}_z}z]- \mathbf{\hat{n}_x}\otimes \mathbf{\hat{n}_y} - \mathbf{\hat{n}_x}\otimes \mathbf{\hat{n}_z}z[\mathbf{\hat{n}_x}\otimes \mathbf{\hat{n}_y} + \mathbf{\hat{n}_x}\otimes \mathbf{\hat{n}_z})r   r   r/   r   Úyr   Úzr   r
   r   r	   ÚwwÚxxÚxx2)ÚaÚbÚcÚdÚomegar,   ÚthetaÚalphaÚqÚphi1Úphi2Úphi3Útheta1Útheta2Útheta3r   r1   s                    r   Útest_vector_latexrI   `   s�  € äÐ 3Ó4Ñ€A€qˆ!ˆQ�à	
ˆa‰�!�a‘%‰œ1Ÿ3™3Ñ¤ a£¬1¯3©3¡Ñ.´°U³¼a¿c¹cÑ1AÑA€Aä�!‹9ð /ò 0ð 0ð 0ô
 ,Ð,DÓEÑ€Eˆ5�%˜à”—‘‰�e˜e‘m¤a§c¡cÑ)Ñ)¨Q°©Y¼!¿#¹#Ñ,=Ñ=€Aä�!‹9ð 7ò 8ð 8ð 8ô &Ð&8Ó9Ñ€Dˆ$�Ü$Ð%=Ó>Ñ€FˆF�Fä	ˆV‹”q—s‘sÑ	Ü	ˆT‹”S˜“YÑ	¤§¡Ñ	$ñ
%ä	ˆV�d‰]Ó	œaŸc™cÑ	!ñ
"€Aô �!‹9ð @ò Að Að Aô 	�sÓ€AäÐ 3Ó4Ñ€A€qˆ!ˆQ�à	
ˆa‰�!�a‘%‰˜1Ÿ3™3Ñ¤ a£¨1¯3©3¡Ñ.´°U³¸a¿c¹cÑ1AÑA€Að&€Hô
 �!‹9˜Ò Ð Ð ô 	�sÐ#GÔH€Aà	
ˆa‰�!�a‘%‰˜1Ÿ3™3Ñ¤ a£¨1¯3©3¡Ñ.´°U³¸a¿c¹cÑ1AÑA€Að5€Hô �!‹9˜Ò Ð Ð ðN€Hä”"‹:˜Ò!Ð!Ð!ð8€Hä”"‹:˜Ò!Ð!Ð!ð8€Hä”#‹;˜(Ò"Ð"Ñ"r   c                  ó�   — t        t        j                  dz  d¬«      dk(  sJ ‚t        t        j                  dz  d¬«      dk(  sJ ‚y )Nç      @F©Ú	full_precz3.0\mathbf{\hat{n}_x}Tz"3.00000000000000\mathbf{\hat{n}_x})r   r   r/   © r   r   Útest_vector_latex_argumentsrO   ¦   s>   € Ü”!—#‘#˜‘) uÔ-Ð1IÒIÐIÐIÜ”!—#‘#˜‘) tÔ,Ð0UÒUÐUÑUr   c                  óð   — t        d«      } t        d«      \  }}|j                  «       | j                  z  }t	        |«      dk(  sJ ‚|j                  «       |z  | j                  z  }t	        |«      dk(  sJ ‚y )Nr   zomega, alphaz\dot{\omega}\mathbf{\hat{n}_x}z'\dot{\omega}^{\alpha}\mathbf{\hat{n}_x})r	   r
   r&   r/   r   )r   r?   rA   r,   s       r   Ú test_vector_latex_with_functionsrQ   «   su   € ä�sÓ€Aä! .Ó1�L€Eˆ5à�
‰
‹�q—s‘sÑ€Aä�!‹9Ð9Ò9Ð9Ð9à�
‰
‹˜Ñ §¡Ñ#€Aä�!‹9ð 0ò 1ð 1ñ 1r   c                  ó¸  — d} d}t        t        «      | k(  sJ ‚t        t        «      |k(  sJ ‚d} d}t        t        «      | k(  sJ ‚t        t        «      |k(  sJ ‚t        t	        g «      «      dk(  sJ ‚t        t	        g «      «      dk(  sJ ‚t        t
        «      dk(  sJ ‚t        t
        «      dk(  sJ ‚t        t        «      dk(  sJ ‚t        t        «      d	k(  sJ ‚y )
Nz0 2
a  n_x|n_y + b n_y|n_y + c*sin(alpha) n_z|n_yu5    2
a  n_xâŠ—n_y + b n_yâŠ—n_y + câ‹…sin(Î±) n_zâŠ—n_yz7alpha n_x|n_x + sin(omega) n_y|n_z + alpha*beta n_z|n_xu4   Î± n_xâŠ—n_x + sin(Ï‰) n_yâŠ—n_z + Î±â‹…Î² n_zâŠ—n_xr+   z- n_x|n_y - n_x|n_zu   - n_xâŠ—n_y - n_xâŠ—n_zzn_x|n_y + n_x|n_zu   n_xâŠ—n_y + n_xâŠ—n_z)r   r6   r    r/   r   r9   r:   r0   s     r   Útest_dyadic_pretty_printrS   »   sæ   € ð€Hð
€Iô œÓ˜xÒ'Ð'Ð'Üœ1Ó Ò*Ð*Ð*àH€HØF€IÜœÓ˜xÒ'Ð'Ð'Üœ1Ó Ò*Ð*Ð*äœ ›Ó$¨Ò+Ð+Ð+Üœ6 "›:Ó&¨#Ò-Ð-Ð-äœÓÐ 5Ò5Ð5Ð5Üœ2ÓÐ";Ò;Ð;Ð;äœÓÐ!4Ò4Ð4Ð4Üœ3ÓÐ#:Ò:Ð:Ñ:r   c                  óŽ   — d} t        t        «      | k(  sJ ‚d} t        t        «      | k(  sJ ‚t        t        g «      «      dk(  sJ ‚y )Nz¬a^{2}\mathbf{\hat{n}_x}\otimes \mathbf{\hat{n}_y} + b\mathbf{\hat{n}_y}\otimes \mathbf{\hat{n}_y} + c \sin{\left(\alpha \right)}\mathbf{\hat{n}_z}\otimes \mathbf{\hat{n}_y}z¶\alpha\mathbf{\hat{n}_x}\otimes \mathbf{\hat{n}_x} + \sin{\left(\omega \right)}\mathbf{\hat{n}_y}\otimes \mathbf{\hat{n}_z} + \alpha \beta\mathbf{\hat{n}_z}\otimes \mathbf{\hat{n}_x}r+   )r   r6   r/   r   )r1   s    r   Útest_dyadic_latexrU   Ø   sQ   € ð@€Hô
 ”!‹9˜Ò Ð Ð ðL€Hô
 ”!‹9˜Ò Ð Ð ä”&˜“*Ó Ò$Ð$Ñ$r   c                  óþ   — t        t        g «      «      dk(  sJ ‚t        t        «      dk(  sJ ‚t        t        «      dk(  sJ ‚t        t        «      dk(  sJ ‚t        t
        «      dk(  sJ ‚t        t        «      dk(  sJ ‚y )Nr+   z5a**2*(N.x|N.y) + b*(N.y|N.y) + c*sin(alpha)*(N.z|N.y)z=alpha*(N.x|N.x) + sin(omega)*(N.y|N.z) + alpha*beta*(N.z|N.x)z-alpha*N.x + asin(omega)*N.y - beta*alpha'*N.zz- (N.x|N.y) - (N.x|N.z)z(N.x|N.y) + (N.x|N.z))r   r   r6   r/   r8   r9   r:   rN   r   r   Útest_dyadic_strrW   ë   sx   € Ü”6˜"“:Ó #Ò%Ð%Ð%Ü”1‹:ÐPÒPÐPÐPÜ”1‹:ÐXÒXÐXÐXÜ”2‹;ÐIÒIÐIÐIÜ”2‹;Ð3Ò3Ð3Ð3Ü”3‹<Ð2Ò2Ð2Ñ2r   c                  ó  — ddl m}  t        d«      }t        d«      }t        d«      }t        d«      }t        d«      }d}| ||«      j	                  |«      j                   ||«       ||«       ||«      z
  «      z  } | |«      |k(  sJ ‚y )	Nr   )r   r/   ÚJÚfÚgÚhzRJ \left(\frac{d}{d x} g{\left(x \right)} - \frac{d}{d x} h{\left(x \right)}\right))Úsympy.physics.vectorr   r   r   r&   Úsubs)r   r/   rY   rZ   r[   r\   r1   r   s           r   Útest_vlatexr_   ô   s|   € Ý+ä�‹€AÜ�‹€Aä�‹€AÜ�‹€AÜ�‹€Aàd€Hà‰Qˆq‹T�Y‰Y�q‹\×Ñ™q ›t¡Q q£T©!¨A«$¡YÓ/Ñ/€Dá�$‹<˜8Ò#Ð#Ñ#r   c                  ó"  — t        d«      \  } }}t        d«      }| |j                  z  ||j                  z  z   ||j                  z  z   }||j                  z  ||j                  z  z   | |j                  z  z   }||z   }d}t        |«      |k(  sJ ‚y)z·
    Test for proper pretty printing of physics vectors with ADD
    instances in arguments.

    Test is exactly the one suggested in the original bug report by
    @moorepants.
    r   r   z'(a + b) a_x + (b + c) a_y + (a + c) a_zN)r   r	   r/   r6   r7   r   )r;   r<   r=   r   r,   r-   r7   r1   s           r   Útest_issue_13354ra     s�   € ô �iÓ �G€A€qˆ!Ü�sÓ€AØ	ˆA�C‰C‰�!�a—c‘c‘'Ñ˜A §¡™GÑ#€AØ	ˆA�C‰C‰�!�a—c‘c‘'Ñ˜A §¡™GÑ#€AØ	ˆA‰€Aà<€Hä˜Ó˜xÒ'Ð'Ñ'r   c                  óV  — t         j                  «       t        j                  z  } t	        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t         j                  «       j                  «       t        j                  z  } t        | «      dk(  sJ ‚t	        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t         j                  «       j                  «       j                  «       t        j                  z  } t        | «      dk(  sJ ‚t	        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t         j                  «       j                  «       j                  «       j                  «       t        j                  z  } t        | «      d	k(  sJ ‚t	        | «      d
k(  sJ ‚t        | «      dk(  sJ ‚t         j                  «       j                  «       j                  «       j                  «       j                  «       t        j                  z  } t        | «      dk(  sJ ‚d}d}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )Nu   Ï‰Ì‡ n_xzomega'(t) n_xz\ddot{\omega}\mathbf{\hat{n}_x}u   Ï‰Ìˆ n_xzomega''(t) n_xz \dddot{\omega}\mathbf{\hat{n}_x}u	   Ï‰âƒ› n_xzomega'''(t) n_xz!\ddddot{\omega}\mathbf{\hat{n}_x}u	   Ï‰âƒœ n_xzomega''''(t) n_xz.\frac{d^{5}}{d t^{5}} \omega\mathbf{\hat{n}_x}zJ 5            
d             
---(omega) n_x
  5           
dt            u=    5        
d         
â”€â”€â”€(Ï‰) n_x
  5       
dt        )r?   r&   r   r/   r    r   r   )r,   r1   r2   s      r   Útest_vector_derivative_printingrc     så  € ä�
‰
‹”q—s‘sÑ€AÜ˜1Ó Ò+Ð+Ð+Ü˜Ó˜Ò.Ð.Ð.ô 	�
‰
‹×ÑÓœaŸc™cÑ!€Aä�!‹9Ð:Ò:Ð:Ð:Ü˜1Ó Ò+Ð+Ð+Ü˜ÓÐ/Ò/Ð/Ð/ô 	�
‰
‹×ÑÓ× Ñ Ó"¤Q§S¡SÑ(€Aä�!‹9Ð;Ò;Ð;Ð;Ü˜1Ó Ò,Ð,Ð,Ü˜ÓÐ0Ò0Ð0Ð0ô 	�
‰
‹×ÑÓ× Ñ Ó"×'Ñ'Ó)¬A¯C©CÑ/€Aä�!‹9Ð<Ò<Ð<Ð<Ü˜1Ó Ò,Ð,Ð,Ü˜ÓÐ1Ò1Ð1Ð1ô 	�
‰
‹×ÑÓ× Ñ Ó"×'Ñ'Ó)×.Ñ.Ó0´1·3±3Ñ6€Aä�!‹9ÐIÒIÐIÐIð€Hð€Iô ˜1Ó Ò*Ð*Ð*Ü˜Ó˜xÒ'Ð'Ñ'r   c                  óº   — t        t        «      dk(  sJ ‚t        t        j                  «       t        j
                  z  «      dk(  sJ ‚t        t        «      dk(  sJ ‚y )Nz+alpha*N.x + sin(omega)*N.y + alpha*beta*N.zz
omega'*N.x)r   r-   r?   r&   r   r/   r   rN   r   r   Útest_vector_str_printingre   J  sJ   € Ü”1‹:ÐFÒFÐFÐFÜ”5—:‘:“<¤!§#¡#Ñ%Ó&¨,Ò6Ð6Ð6Ü”Q‹<ÐHÒHÐHÑHr   c                  ó�   — t        t        j                  dz  d¬«      dk(  sJ ‚t        t        j                  dz  d¬«      dk(  sJ ‚y )NrK   FrL   z3.0*N.xTz3.00000000000000*N.x)r   r   r/   rN   r   r   Útest_vector_str_argumentsrg   P  s=   € Ü”1—3‘3˜‘9¨Ô.°)Ò;Ð;Ð;Ü”1—3‘3˜‘9¨Ô-Ð1GÒGÐGÑGr   c                  óX  — dd l mc m}  | j                  d«      }| j	                  dd«      \  }}t        d«      }t        |||z   dz  z  |j                  z  «      dk(  sJ ‚t        ||z   dz  |j                  z  «      dk(  sJ ‚t        ||z  t        z  |j                  z  «      d	k(  sJ ‚y )
Nr   r   z
theta, phié   ÚLr   z>L \left(\dot{\phi} + \dot{\theta}\right)^{2}\mathbf{\hat{a}_x}z<\left(\dot{\phi} + \dot{\theta}\right)^{2}\mathbf{\hat{a}_x}z:\left(\dot{\phi} \dot{\theta}\right)^{a}\mathbf{\hat{a}_x})	Úsympy.physics.mechanicsÚphysicsÚ	mechanicsr	   r
   r   r   r/   r;   )ÚmeÚA_frameÚthetadÚphidrj   s        r   Útest_issue_14041rr   U  sÉ   € ß(Ð(à×Ñ Ó$€GØ×$Ñ$ \°1Ó5�L€FˆDÜ�‹€Aä�!�T˜F‘] QÑ&Ñ& w§y¡yÑ0Ó1ØIòJð Jð Jä�4˜&‘= 1Ñ$ W§Y¡YÑ.Ó/ØGòHð Hð Hä�4˜‘;¤Ñ" 7§9¡9Ñ,Ó-ØEòFð Fñ Fr   N)6Úsympy.core.functionr   Úsympy.core.symbolr   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr   r   r   r]   r	   r
   r   Úsympy.physics.vector.printingr   r   r   r   r   r;   r<   r=   rA   r?   Úbetar   r   r/   r6   r7   r,   r-   r&   r8   r.   r9   r:   r   r    r)   r3   rI   rO   rQ   rS   rU   rW   r_   ra   rc   re   rg   rr   rN   r   r   ú<module>ry      s^  ðõ )Ý %Ý 9ß EÑ Eß GÑ G÷Gõ Gñ �)Ó
�€€1€aÙ#Ð$8Ó9Ñ €€uˆdá�3Ó€Ù�3Ó€àˆ�FˆQ�S‰S�L�1�q—s‘s‘7Ñ˜Q¡ U£™^¨a¯c©cÑ1Ñ1€Ø	ˆA�C‰C�K‘#�e“*˜qŸs™sÑ"Ñ" U¨T¡\°A·C±CÑ%7Ñ7€Ø
ˆQ�S‰S�[‘4˜“; §¡Ñ$Ñ$ u§z¡z£|°dÑ':¸Q¿S¹SÑ'@Ñ@€Ø€a�Cˆ!�#‰#�I��1‘�a‘˜!Ÿ#™#‘Ñ  1¡ Q¡¨¯©¡Ñ,€àˆ�Fˆa�c‰c�A—C‘C‰iÑ˜1 §¡ a§c¡c¡	™?Ñ*¨Q±°U³©^¸q¿s¹sÀQÇSÁS¹yÑ-IÑI€Ø	ˆQ�S‰S�1—3‘3‰YÑ™#˜e›*¨¯©¨a¯c©c©	Ñ2Ñ2°U¸T±\ÀQÇSÁSÈ1Ï3É3ÁYÑ5OÑO€Ø‡S�SˆQ�S‰SˆD�1—3‘3‰JÑ€Ø‡c�cˆQ�S‰S�1—3‘3‰YÑ€ò=ò<òMò0)òfC#òLVò
1ò ;ò:%ò&3ò$ò"(ò(.(òbIòHó
Fr   