
    sh'                        S SK JrJrJrJrJr  S SKJrJr  S SK	J
r
JrJr  S SKJr  S SKJr  S SKJr  S SKJrJr  S SKJr  S S	KJr  S S
KJrJrJrJrJ r   S SK!J"r"  S SKJ#r#J$r$J%r%  S SK&J'r'  S SK(J)r)  S SK*J+r+  S SK&J,r,  \"" S5      r-\-R]                  5       u  r/r0r1\" S5      u  r2r3r4S r5\,S 5       r6S r7S r8S r9S r:S r;S r<S r=S r>S r?S r@S rAS  rBS! rCS" rDS# rES$ rFg%)&    )RationalSAddMulI)simplifytrigsimp)
DerivativeFunctiondiff)pi)symbols)sqrt)cossin)Integral)ImmutableDenseMatrix)Vector
BaseVector	VectorAdd	VectorMul
VectorZero
CoordSys3D)CrossDotcross)raises)
VectorKind)
NumberKind)XFAILCza b cc                  :   [         R                  [        -  [         R                  [         R                  -  [        -  -   n [         R                  [        -  [         R
                  [        -  -   [         R                  [        -  -   n[        X5      [        [         R                  [         R                  -  [         R                  S-  [         R                  -  -   [         R                  [         R                  -  [         R
                  [         R                  -  -   [         R                  [         R                  -  -   5      :X  d   e[        X5      R                  5       [         R                  S-  [         R                  -  [         R                  * [         R                  -  [         R                  -  -   [         R                  [         R
                  -  [         R                  [         R                  S-  -  -
  [         R                  -  -   :X  d   e[        X5      [         R                  S-  [         R                  -  [         R                  * [         R                  -  [         R                  -  -   [         R                  [         R
                  -  [         R                  [         R                  S-  -  -
  [         R                  -  -   :X  d   e[        X5      [        X5      * :X  d   e[        X5      [        X5      -   [        R                  :X  d   eg )N      )r"   xizjykr   doitr   r   zerov1v2s     r/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/sympy/vector/tests/test_vector.py
test_crossr2      s   	
q1339q=	 B	
q1337	QSS1W	$B=E!##acc'ACCF133J"6ACC!##acc'8IACCPQPSPSG8STTTT=1336!##:!##acc133#>!##acc'ACCPQPSPSUVPVJBVXYX[X[A[#[[[[=ACCF133J133$qss(ACC7133qss7QSSaZ;OQRQTQT:TTTTT=U2]N***=5=(FKK777    c                  h   [         R                  [        -  [         R                  [         R                  -  [        -  -   n [         R                  [        -  [         R
                  [        -  -   [         R                  [        -  -   n[        X5      [        X5      -   [        R                  :X  d   eg )N)
r"   r&   r'   r(   r)   r*   r+   r   r   r-   r.   s     r1   test_cross_xfailr5   %   sj    	
q1339q=	 B	
q1337	QSS1W	$B=5=(FKK777r3   c                     [         R                  [        -  [         R                  [         R                  -  [        -  -   n [         R                  [        -  [         R
                  [        -  -   [         R                  [        -  -   n[        X5      [        [         R                  [         R                  -  [         R                  S-  [         R                  -  -   [         R                  [         R                  -  [         R
                  [         R                  -  -   [         R                  [         R                  -  -   5      :X  d   e[        X5      R                  5       [         R                  S-  [         R
                  [         R                  S-  -  -   :X  d   e[        X5      R                  5       [         R                  S-  [         R
                  [         R                  S-  -  -   :X  d   e[        X5      [        X5      :X  d   eg Nr$   )	r"   r&   r'   r(   r)   r*   r+   r   r,   r.   s     r1   test_dotr8   ,   s9   	
q1339q=	 B	
q1337	QSS1W	$Br;#acc!##gQqss
2ACCGacc!##g4EACC4OPPPPr;a!##acc1f*!4444r;a!##acc1f*!4444r;#b+%%%r3   c                  J   S[         -  n U [         S-  :X  d   eU R                  [         S0:X  d   eS[        -  S[         -  -   S[        -  -   nS[        -  S[         -  -   [        -   S[        -  -   [        -   nX!:X  d   eUR	                  5       UR	                  5       :X  d   eg)ze
Test whether the Vector framework confirms to the hashing
and equality testing properties of SymPy.
r%         r$   N)r)   
componentsr'   r+   __hash__r/   r0   v3s      r1   test_vector_sympyr@   5   s    
 
1B199==QF"""	
1qsQqSB	
1qsQ1	q	 B8O8;;=BKKM)))r3   c                     [         R                  R                  [        [        5      L d   e[         R
                  R                  [        [        5      L d   e[         R                  R                  [        [        5      L d   e[         R                  R                  [        L d   e[         R                  R                  [        L d   e[         R                  R                  [        L d   e[        R                  " [        [        [        5      5      [        [        5      L d   e[        S[         R                  5      R                  [        [        5      L d   e[         R                  [        -  [         R                  [         R                  -  [
        -  -   n [         R                  [        -  [         R                  [
        -  -   [         R                  [        -  -   nU R                  [        [        5      L d   eUR                  [        [        5      L d   eX-   R                  [        [        5      L d   e[        X5      R                  [        [        5      L d   e[        X5      R                  5       R                  [        [        5      L d   e[        X5      R                  [        [        5      L d   e[!        SU 5      R                  [        [        5      L d   e[#        5       R                  [        [        5      L d   eU R%                  U5      R                  [        [        5      L d   eUR%                  U 5      R                  [        [        5      L d   eg r7   )r"   r'   kindr   r    r)   r+   r&   r*   r(   r   _kind_dispatcherr   r   r,   r   r   r   
projectionr.   s     r1   	test_kindrE   C   sN   3388z*----3388z*----3388z*----3388z!!!3388z!!!3388z!!!
Jz,BCzR\G]]]]q!##;z*5555	
q1339q=	 B	
q1337	QSS1W	$B77j,,,,77j,,,,G>>Z
3333r;z*5555=$$
:(>>>>R!!Z
%;;;;Q  Jz$::::<
: 6666==!!Z
%;;;;==!!Z
%;;;;r3   c                     [        [        [        R                  [        R                  5      [
        5      (       d   e[        R                  [        -  [        R                  [        R                  -  [        -  -   n [        R                  [        -  [        R                  [        -  -   [        R                  [        -  -   n[        [        X5      [
        5      (       d   e[        [        R                  [        R                  [        R                  /5      R                  n[        / SQ5      nX#-  nUS   R                  [        5       :X  d   e[        US   [
        5      (       d   eg )N)   r$   r%   r   )
isinstancer   r"   r'   r)   r   r&   r(   r*   r+   MatrixTrB   r   )r/   r0   Eaavs        r1   test_vectoraddrN   _   s    c!##qssmY////	
q1339q=	 B	
q1337	QSS1W	$Bc"k9---- 	QSS!##!!AyA	
Ba5::%%%beY''''r3   c                  
  ^ [        [        [        5      (       d   e[        [        :w  d   e[        [        :w  d   e[        [        :w  d   e[        [        -
  [
        R                  :X  d   e[        [
        R                  -   [        :X  d   e[        [
        R                  -
  [        :X  d   e[
        R                  S:w  d   e[
        R                  * [
        R                  :X  d   e[        [        -  [        [        -  -   [        [        -  -   m[        S-  [        -  [        S-  [        -  -   [        S-  [        -  -   n TU -   nST-  n[        [        -  n[        T[        5      (       d   eTT-
  [
        R                  :X  d   eT[
        R                  -   T:X  d   eTR                  [        5      [        :X  d   eTR                  [        5      [        :X  d   eTR                  [        5      [        :X  d   e[        R                  U 5      [        S-  :X  d   e[        R                  U 5      [        S-  :X  d   e[        R                  U 5      [        S-  :X  d   eUR                  [        5      [        S-  [        -   :X  d   eUR                  [        5      [        S-  [        -   :X  d   eUR                  [        5      [        S-  [        -   :X  d   eTU -   U T-   :X  d   eTU -
  SU T-
  -  :X  d   e[        T-  T[        -  :X  d   e[        U[        5      (       d   eUR                  [        :X  d   eUR                  [        :X  d   e[        U[
        5      (       d   e[        U[        5      (       d   e[        U[
        5      (       d   e[        [
        R                  [        5      (       d   e[        [
        R                  [
        5      (       d   e[        TS-  [        5      (       d   eTR!                  ["        5      [%        [        /[        /[        //5      :X  d   e[        R&                  [        S0:X  d   eUR&                  [        [        0:X  d   eTR&                  [        [        [        [        [        [        0:X  d   e[        T[
        R                  5      T:X  d   e[        [        T5      T[        -  :X  d   e[        S[        5      [        :X  d   e[        T[
        R                  5      T:X  d   e[        S[
        R                  5      [
        R                  :X  d   e[)        [*        U4S j5        [)        [*        U4S j5        g )Nr   r$   rG   c                  &   > T R                  S5      $ NrG   )outerr/   s   r1   <lambda>test_vector.<locals>.<lambda>   s    bhhqkr3   c                  &   > T R                  S5      $ rR   )dotrT   s   r1   rU   rV      s    bffQir3   )rH   r'   r   r)   r+   r   r-   rL   bcr   rX   r   base_vectormeasure_numberr   	to_matrixr"   rI   r<   r   	TypeError)r0   r?   v4v5r/   s       @r1   test_vectorra   o   s"   a$$$$6M66M66M6q5FKKv{{?av{{?a;;!KK<6;;&&&	
1qsQqSB	
Aa!Q$q&1a46	!B	bB	
RB	
QBb)$$$$7fkk!!!r!!!66!9>>66!9>>66!9>>55915591559166!91q   66!91q   66!91q   7b2g7bBGn$$$r6R!Vb)$$$$>>Q!!!b&!!!!b)$$$$b&!!!!fkk:....fkk6****b1fj))))<<?fqcA3_5555<<Aq6!!!==QF"""==Q1aA....R%+++Qr!t###Q?aR%+++Q$333
9)*
9'(r3   c                     [         R                  R                  5       S:X  d   e[         R                  R                  5       [         R                  :X  d   e[        R                  5       S:X  d   e[
        R                  5       S:X  d   e[        R                  5       S:X  d   e[        R                  5       [        :X  d   e[
        R                  5       [
        :X  d   e[        R                  5       [        :X  d   e[        [        -  n U R                  5       [        [        [        S-  5      -  [        -  :X  d   eU R                  5       [        [        S-  5      :X  d   e[        [        -  [        [
        -  -   [        [        -  -   nUR                  5       [        [        S-  [        S-  -   [        S-  -   5      :X  d   eUR                  5       XR                  5       -  :X  d   e[        [
        -   nUR                  5       [        S5      S-  [        R                  -  [        S5      S-  [        R
                  -  -   :X  d   eg )Nr   rG   r$   )r   r-   	magnitude	normalizer'   r)   r+   rL   r   rY   rZ   r"   r>   s      r1   test_vector_magnitude_normalizere      s   ;;  "a''';;  "fkk111;;=A;;=A;;=A;;=A;;=A;;=A	
QB<<>aQT
lA----<<>T!Q$Z'''	
1qsQqSB<<>T!Q$A+1"45555<<>R,,.0000	
QB<<>d1gai_Q	133>>>>r3   c                     [        S5      u  pp#S[        -  S[        -  -   [        -  nU[        -  [        [        -   [        [        -  -  :w  d   e[	        U5      nU[        -  [        [        -   [        [        -  -  :X  d   eUR	                  5       [	        U5      :X  d   eU S-  US-  -  S[
        -  U-  US-  -  -  [        -  n[	        U5      nU[        -  U S-  US-  -  S[
        -  U-  US-  -  -  :X  d   eSS[        -  -   SSS[        -  -   -  -
  SS[        -  -   -  [        -  n[	        U5      nU[        -  S:X  d   eS[        -  [        S-  -  S[        S-  -  -
  S[        S-  -  [        -  -
  [        [        -   S-  -  [        -  n[	        U5      nU[        -  S[        -  :X  d   e[        [        5      [        [        5      -   S-  [        -  [        -
  n[        U5      S[        [        [
        S-  -   5      S-  -  [        -  S	[        -  -   :X  d   e[        U5      UR                  5       :X  d   e[	        [        R                  5      [        R                  :X  d   eg )
Nz
A, s, k, mrG   r$   r:   r%   r   rP   )r   rL   rY   r'   r   r   r   r   r)   r	   r   r-   )	Asr+   mtest1test2test3test4vs	            r1   test_vector_simplifyrq      s#   &JA!UQU]aEAI1q5QU++++UOEAI1q5QU++++>>x...TAqD[AFQJA-.!3EUOEAI1a4!Q$;!b&1*q!t*;<===!a%i!q1q5y/)a!a%i8A=EUOEAI!1fq!tma!Q$h&QTA5!a%!CqHEUOEAI"q&   	QA1q AA;1SRT]A--q0B69999A;!**,&&&FKK FKK///r3   c                     S[         -  R                  [        5      SL d   e[         R                  [         5      SL d   e[        S5      [        S5      -   [        [        S5      S-   5      -  n U [         -  R                  S[         -  5      SL d   eU [         -  R                  S[         -  5      SL d   e[        R                  S[        S-  [        R                  5      nUR                   R                  [        R                  5      SL d   eUR                   R                  [        R                   5      SL d   eg )Nr$   FT   r%   D)r'   equalsr)   r   r"   orient_new_axisr   r+   )ri   rt   s     r1   test_vector_equalsrw      s    aC<<?e###88A;$ 
a47	d47Q;//AaC<<!$$$aC<<!%%% 	
#r!tQSS)ACC<<$$$CC<<%%%r3   c                      [         [        -  S[         -   [        -  -   S[        -  -   R	                  5       [         * [        -  S[         -
  [        -  -   S[        -  -   :X  d   eg )NrG   r$   )r   r'   r)   r+   	conjugate r3   r1   test_vector_conjugater{      sN    aC1q5!)Oac!,,.1"Q$!a%2BQqS2HHHHr3   c                     [         R                  [        R                  5      S:X  d   e[        R                  R                  [         5      S:X  d   e[         [        R                  -  S:X  d   e[         R                  [         5      S:X  d   e[         R                  [        5      S:X  d   e[         R                  [
        5      S:X  d   e[         [         -  S:X  d   e[         [        -  S:X  d   e[         [
        -  S:X  d   e[        R                  [         5      S:X  d   e[        R                  [        5      S:X  d   e[        R                  [
        5      S:X  d   e[        [         -  S:X  d   e[        [        -  S:X  d   e[        [
        -  S:X  d   e[
        R                  [         5      S:X  d   e[
        R                  [        5      S:X  d   e[
        R                  [
        5      S:X  d   e[
        [         -  S:X  d   e[
        [        -  S:X  d   e[
        [
        -  S:X  d   e[        [        S 5        g )Nr   rG   c                  ,    [         R                  S5      $ rR   )r+   rX   rz   r3   r1   rU   !test_vector_dot.<locals>.<lambda>  s    aeeAhr3   )r'   rX   r   r-   r)   r+   r   r^   rz   r3   r1   test_vector_dotr      s   55""";;??1"""v{{?a558q==558q==558q==q5A::q5A::q5A::558q==558q==558q==q5A::q5A::q5A::558q==558q==558q==q5A::q5A::q5A::
9&'r3   c                     [         R                  [        R                  5      [        R                  :X  d   e[        R                  R                  [         5      [        R                  :X  d   e[         R                  [         5      [        R                  :X  d   e[         R                  [        5      [
        :X  d   e[         R                  [
        5      [        * :X  d   e[         [         -  [        R                  :X  d   e[         [        -  [
        :X  d   e[         [
        -  [        * :X  d   e[        R                  [         5      [
        * :X  d   e[        R                  [        5      [        R                  :X  d   e[        R                  [
        5      [         :X  d   e[        [         -  [
        * :X  d   e[        [        -  [        R                  :X  d   e[        [
        -  [         :X  d   e[
        R                  [         5      [        :X  d   e[
        R                  [        5      [         * :X  d   e[
        R                  [
        5      [        R                  :X  d   e[
        [         -  [        :X  d   e[
        [        -  [         * :X  d   e[
        [
        -  [        R                  :X  d   e[
        R                  S5      [        [
        S5      :X  d   eg rR   )r'   r   r   r-   r)   r+   r   rz   r3   r1   test_vector_crossr     s   776;;6;;...;;Q6;;...771:$$$771:??771:!q5FKKq5A::q5QB;;771:!771:$$$771:??q5QB;;q5FKKq5A::771:??771:!771:$$$q5A::q5QB;;q5FKK771:q!$$$r3   c                     [         [        -   [        -   n S[         -  S[        -  -   nS[         -  S[        -  -   nU R                  U 5      [         [        -   [        -   :X  d   eU R                  U5      [	        SS5      [
        R                   -  [	        SS5      [
        R                  -  -   [	        SS5      [
        R                  -  -   :X  d   eU R                  U SS9[        R                  :X  d   eU R                  USS9[	        SS5      :X  d   eUR                  U 5      [        R                  :X  d   eUR                  U SS9[        R                  :X  d   eg )Nr%   r:   r      T)scalar)r'   r)   r+   rD   r   r"   r   Oner   r-   Zeror>   s      r1   test_projectionr   *  s   	
QB	
1qsB	
1qsB==A	)))==Aqss 2Xa^ACC5G G(STVW.YZY\Y\J\ \\\\==D=)QUU222==D=)Xa^;;;==+++==D=)QVV333r3   c                     [        S5      n U " [        5      [        R                  -  [        S-  [        R                  -  -   [        R
                  -
  n[        U[        5      [        U " [        5      [        R                  -  [        S-  [        R                  -  -   S[        R
                  -  -   [        5      :X  d   e[        U[        5      UR                  [        5      s=:X  an  [        U[        5      R                  5       s=:X  aK  [        U " [        5      [        5      [        R                  -  S[        -  [        R                  -  -   :X  d   e   e[        U[        5      [        U " [        5      [        5      [        R                  -  [        [        S-  [        5      [        R                  -  -   [        S[        5      [        R
                  -  -   :X  d   eg )Nfr$   rP   )
r   rL   r"   r'   r)   r+   r
   r   r,   r   )r   rp   s     r1   test_vector_diff_integrater   6  s`   A	!QSS1a48acc!Aaz1Q4**+Q$qss(+368!##X+>?@ B B B BAJ!&&) 0z!Q'7'<'<'> 0!a !##%!ACC/0 1 0 1 0QNx!a0!##5adA#$'/A&;< < = <r3   c                  H    [        [        S 5        [        [        S 5        g )Nc                  "    [        S[        5      $ )Nr%   )r   r"   rz   r3   r1   rU   "test_vector_args.<locals>.<lambda>B  s    z!Q/r3   c                  6    [        S[        R                  5      $ )Nr   )r   r   r-   rz   r3   r1   rU   r   C  s    jFKK8r3   )r   
ValueErrorr^   rz   r3   r1   test_vector_argsr   A  s    
:/0
989r3   c                  L    SSK Jn   SnU " [        R                  5      U:X  d   eg )Nr   )sreprzCoordSys3D(Str('C'), Tuple(ImmutableDenseMatrix([[Integer(1), Integer(0), Integer(0)], [Integer(0), Integer(1), Integer(0)], [Integer(0), Integer(0), Integer(1)]]), VectorZero())).i)sympy.printing.reprr   r"   r'   )r   ress     r1   
test_sreprr   F  s%    )GC :r3   c                     SSK Jn   U " S5      nSUR                  -  SUR                  -  -   SUR                  -  -   nSUR                  -  SUR                  -  -
  SUR                  -  -   nUR
                  SL d   eUR                  SL d   eUR                  U5      R                  SL d   eUR                  U5      R                  SL d   eg )	Nr   r   r"   r%   r:   r;   TF)	sympy.vectorr   r'   r)   r+   	is_Vector	is_scalarrX   r   )r   r"   r/   r0   s       r1   test_scalarr   N  s    '3A	
133133133	B	
133133133	B<<4<<5   FF2J!!T)))HHRL##u,,,r3   N)G
sympy.corer   r   r   r   r   sympy.simplifyr   r	   sympy.core.functionr
   r   r   sympy.core.numbersr   sympy.core.symbolr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   sympy.integrals.integralsr   sympy.matrices.immutabler   rI   sympy.vector.vectorr   r   r   r   r   sympy.vector.coordsysrectr   r   r   r   sympy.testing.pytestr   sympy.vector.kindr   sympy.core.kindr    r!   r"   base_vectorsr'   r)   r+   rL   rY   rZ   r2   r5   r8   r@   rE   rN   ra   re   rq   rw   r{   r   r   r   r   r   r   r   rz   r3   r1   <module>r      s    / / - < < ! % 9 ? . C  0 1 1 ' ( & & sO
..
1a
'
1a8 8 8&*<8( 8)v?.08&I
(:%8	4=:
-r3   