+
    h*                        ^ RI Ht ^ RIHt ^ RIHt ^ RIHtHtH	t	 ^ RI
HtHtHt ^ RIHtHtHtHtHt ]! R4      w  ttt]! R4      w  ttt]! R	4      t]! R
4      t]^,          ]P8                  ,          ]]P:                  ,          ,           ]]	! ]4      ,          ]P<                  ,          ,           t]]P8                  ,          ]	! ]4      ]P:                  ,          ,           ]],          ]P<                  ,          ,           t ]]P8                  ,          ]! ]4      ]P:                  ,          ,           ]PC                  4       ],          ]P<                  ,          ,
          t"]],          ]P8                  ,          ]],           ],          ]P:                  ,          ,           ]^,          ],          ]P<                  ,          ,           t#]^,          ]P8                  ]P:                  ,          ,          ]]P:                  ]P:                  ,          ,          ,           ]]	! ]4      ,          ]P<                  ]P:                  ,          ,          ,           t]]P8                  ]P8                  ,          ,          ]	! ]4      ]P:                  ]P<                  ,          ,          ,           ]],          ]P<                  ]P8                  ,          ,          ,           t]P8                  ]P:                  ) ]P<                  ,
          ,          t$]P8                  ]P:                  ]P<                  ,           ,          t%R t&R t'R t(R t)R t*R t+R t,R t-R t.R t/R t0R t1R t2R t3R t4R t5R# )    )Function)symbols)sqrt)asincossin)ReferenceFramedynamicsymbolsDyadic)VectorLatexPrintervpprintvsprint	vsstrreprvlatexa, b, czalpha, omega, betaANc                     \        V R R R7      # )Fuse_unicode	wrap_liner   exprs   &J/usr/lib/python3/dist-packages/sympy/physics/vector/tests/test_printing.pyascii_vprettyr      s    4Ue<<    c                     \        V R RR7      # )TFr   r   r   s   &r   unicode_vprettyr       s    4TU;;r   c                     \        R 4      ! R4      p \        4       P                  V ^,          4      R8X  g   Q h\        R4      ! R4      p\        4       P                  VP                  4       4      R8X  g   Q h\        R4      ! R4      p\        4       P                  VP                  4       P                  4       4      R8X  g   Q hR# )rtzr^{2}zr^2z\dot{r^{2}}r__az\ddot{r^{a}}N)r   r   doprintdiff)r!   r2ras      r   test_latex_printerr(   $   s    cA''Q/7:::	%	B''	2nDDD	&	#	B''	(89_LLLr   c                  F   R p Rp\        \        4      V 8X  g   Q h\        \        4      V8X  g   Q hRp Rp\        \        4      V 8X  g   Q h\        \        4      V8X  g   Q hRp Rp\        \        4      V 8X  g   Q h\        \        4      V8X  g   Q h\        \
        P                  ) 4      R8X  g   Q h\        \
        P                  ) 4      R8X  g   Q h\        ^ \
        P                  ,          4      R8X  g   Q h\        ^ \
        P                  ,          4      R8X  g   Q hR# )	zC 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_x0N)r   vr   wor   xexpected	uexpecteds     r   test_vector_pretty_printr2   -   s
   HI
 x'''1***<H4Ix'''1***HI x'''1*** !##&(((ACC4 F*** 1333&&&1QSS5!S(((r   c                  V   \        R 4      w  rr#pV ^,          W,          ,           \        P                  ,          \        V4      \        P                  ,          ,           \        V4      \        P                  ,          ,           p\        V4      R8X  g   Q h\        R4      w  rdrxV\        P                  ,          WD,          \        P                  ,          ,           W,          \        P                  ,          ,           p\        V4      R8X  g   Q h\        R4      w  rp\        R4      w  rp\        V4      \        P                  ,          \        V	4      \        V
4      ,          \        P                  ,          ,           \        W,           4      \        P                  ,          ,           p\        V4      R8X  g   Q h\        R4      p\        R 4      w  rr#pV ^,          W,          ,           VP                  ,          \        V4      VP                  ,          ,           \        V4      VP                  ,          ,           pRp\        V4      V8X  g   Q h\        RRR	7      pV ^,          W,          ,           VP                  ,          \        V4      VP                  ,          ,           \        V4      VP                  ,          ,           pR
p\        V4      V8X  g   Q hRp\        \        4      V8X  g   Q hRp\        \        4      V8X  g   Q hRp\        \        4      V8X  g   Q hR# )za, b, c, d, omegazs(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})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}N)z\hat{i}z\hat{j}z\hat{k})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   r0   s                    r   test_vector_latexrH   `   st    34A!	
a!%133a133.Uacc1AAA!9 / 0 0 0
 ,,DEE%emacc))QY!##,==A!9 7 8 8 8 &&89D$%=>FF	Vqss		TSY		$
%	V]	acc	!
"A !9 @ A A A 	sA 34A!	
a!%133a133.Uacc1AAA&H
 !9    	s#GHA	
a!%133a133.Uacc1AAA5H !9   NH":!!!8H":!!!8H#;("""r   c                      \        \        P                  R ,          RR7      R8X  g   Q h\        \        P                  R ,          RR7      R8X  g   Q hR# )      @F	full_precz3.0\mathbf{\hat{n}_x}Tz"3.00000000000000\mathbf{\hat{n}_x}N)r   r   r.    r   r   test_vector_latex_argumentsrN      s>    !##)u-1IIII!##)t,0UUUUr   c                     \        R 4      p \        R4      w  rVP                  4       V P                  ,          p\	        V4      R8X  g   Q hVP                  4       V,          V P                  ,          p\	        V4      R8X  g   Q hR# )r   zomega, alphaz\dot{\omega}\mathbf{\hat{n}_x}z'\dot{\omega}^{\alpha}\mathbf{\hat{n}_x}N)r	   r
   r%   r.   r   )r   r>   r@   r+   s       r    test_vector_latex_with_functionsrP      ss    sA!.1LE

qssA!99999

#A!9 0 1 1 1r   c                     R p Rp\        \        4      V 8X  g   Q h\        \        4      V8X  g   Q hRp Rp\        \        4      V 8X  g   Q h\        \        4      V8X  g   Q h\        \	        . 4      4      R8X  g   Q h\        \	        . 4      4      R8X  g   Q h\        \
        4      R8X  g   Q h\        \
        4      R8X  g   Q h\        \        4      R8X  g   Q h\        \        4      R8X  g   Q hR	# )
z0 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_zN)r   r5   r   r.   r   r8   r9   r/   s     r   test_dyadic_pretty_printrR      s    H
I x'''1***HHFIx'''1***$+++6":&#--- 55552";;;;!44443#::::r   c                      R p \        \        4      V 8X  g   Q hRp \        \        4      V 8X  g   Q h\        \        . 4      4      R8X  g   Q hR# )za^{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*   N)r   r5   r.   r   )r0   s    r   test_dyadic_latexrT      sQ    @H
 !9   LH
 !9   &*$$$r   c                     \        \        . 4      4      R 8X  g   Q h\        \        4      R8X  g   Q h\        \        4      R8X  g   Q h\        \        4      R8X  g   Q h\        \
        4      R8X  g   Q h\        \        4      R8X  g   Q hR# )r*   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)N)r   r   r5   r.   r7   r8   r9   rM   r   r   test_dyadic_strrV      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                  .   ^ RI Hp  \        R4      p\        R4      p\        R4      p\        R4      p\        R4      pRpW#! V4      P	                  V4      P                  V! V4      V! V4      V! V4      ,
          4      ,          pV ! V4      V8X  g   Q hR# )	r   )r   r.   JfghzRJ \left(\frac{d}{d x} g{\left(x \right)} - \frac{d}{d x} h{\left(x \right)}\right)N)sympy.physics.vectorr   r   r   r%   subs)r   r.   rX   rY   rZ   r[   r0   r   s           r   test_vlatexr^      s|    +AAAAAdHQqTYYq\qtQqT!A$Y//D$<8###r   c                 p   \        R4      w  rp\        R4      pWP                  ,          WP                  ,          ,           W#P                  ,          ,           pWP                  ,          W#P                  ,          ,           WP                  ,          ,           pWT,           pRp\        V4      V8X  g   Q hR# )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.   r5   r6   r   )r:   r;   r<   r   r+   r,   r6   r0   s           r   test_issue_13354r`     s}     i GA!sA	CC!cc'AG#A	CC!cc'AG#A	A<Hx'''r   c                     \         P                  4       \        P                  ,          p \	        V 4      R 8X  g   Q h\        V 4      R8X  g   Q h\         P                  4       P                  4       \        P                  ,          p \        V 4      R8X  g   Q h\	        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\         P                  4       P                  4       P                  4       \        P                  ,          p \        V 4      R8X  g   Q h\	        V 4      R8X  g   Q h\        V 4      R8X  g   Q h\         P                  4       P                  4       P                  4       P                  4       \        P                  ,          p \        V 4      R8X  g   Q h\	        V 4      R	8X  g   Q h\        V 4      R
8X  g   Q h\         P                  4       P                  4       P                  4       P                  4       P                  4       \        P                  ,          p \        V 4      R8X  g   Q hRpRp\	        V 4      V8X  g   Q h\        V 4      V8X  g   Q hR# )u   ω̇ 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        N)r>   r%   r   r.   r   r   r   )r+   r0   r1   s      r   test_vector_derivative_printingrb     s   

qssA1+++... 	

acc!A!9::::1+++//// 	

  "QSS(A!9;;;;1,,,0000 	

  "'')ACC/A!9<<<<1,,,1111 	

  "'')..01336A!9IIIIHI 1***x'''r   c                      \        \        4      R 8X  g   Q h\        \        P                  4       \        P
                  ,          4      R8X  g   Q h\        \        4      R 8X  g   Q hR# )z+alpha*N.x + sin(omega)*N.y + alpha*beta*N.zz
omega'*N.xN)r   r,   r>   r%   r   r.   r   rM   r   r   test_vector_str_printingrd   J  sJ    1:FFFF5::<!##%&,666Q<HHHHr   c                      \        \        P                  R ,          RR7      R8X  g   Q h\        \        P                  R ,          RR7      R8X  g   Q hR# )rJ   FrK   z3.0*N.xTz3.00000000000000*N.xN)r   r   r.   rM   r   r   test_vector_str_argumentsrf   P  s=    1339.);;;1339-1GGGGr   c                     ^ RI Hu Hp  V P                  R4      pV P	                  R^4      w  r#\        R4      p\        WCV,           ^,          ,          VP                  ,          4      R8X  g   Q h\        W2,           ^,          VP                  ,          4      R8X  g   Q h\        W2,          \        ,          VP                  ,          4      R8X  g   Q hR# )r   Nr   z
theta, phiLz>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phidrh   s        r   test_issue_14041rp   U  s    (($G$$\15LFA!F]Q&&wyy01IJ J J4=1$WYY./GH H H4;"799,-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<   r@   r>   betar   r   r.   r5   r6   r+   r,   r%   r7   r-   r8   r9   r   r   r(   r2   rH   rN   rP   rR   rT   rV   r^   r`   rb   rd   rf   rp   rM   r   r   <module>rw      s^   ) % 9 E E G GG G )
1a#$89 ud33FQSSL1qss7QU^acc11	ACCK#e*qss""UT\ACC%77
QSS[4;$$uzz|d':QSS'@@aC!##I1a!##1Q,FaccACCi1acc	?*QU^qssQSSy-II	QSS133Y#e*acc	22UT\QSS133Y5OOSSQSSD133JccQSS133Y=<M0)fC#LV
1 ;:%&3$"((.(bIH
Fr   