+
    h'                        ^ RI HtHtHtHtHt ^ RIHtHt ^ RI	H
t
HtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ^ R
IHtHtHtHtH t  ^ RI!H"t" ^ RIH#t#H$t$H%t% ^ RI&H't' ^ RI(H)t) ^ RI*H+t+ ^ RI&H,t, ]"! R4      t-]-P]                  4       w  t/t0t1]! R4      w  t2t3t4R t5],R 4       t6R t7R t8R t9R t:R t;R t<R t=R t>R t?R t@R tAR  tBR! tCR" tDR# tER$ tFR%# )&    )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                     \         P                  \        ,          \         P                  \         P                  ,          \        ,          ,           p \         P                  \        ,          \         P
                  \        ,          ,           \         P                  \        ,          ,           p\        W4      \        \         P                  \         P                  ,          \         P                  ^,          \         P                  ,          ,           \         P                  \         P                  ,          \         P
                  \         P                  ,          ,           \         P                  \         P                  ,          ,           4      8X  g   Q h\        W4      P                  4       \         P                  ^,          \         P                  ,          \         P                  ) \         P                  ,          \         P                  ,          ,           \         P                  \         P
                  ,          \         P                  \         P                  ^,          ,          ,
          \         P                  ,          ,           8X  g   Q h\        W4      \         P                  ^,          \         P                  ,          \         P                  ) \         P                  ,          \         P                  ,          ,           \         P                  \         P
                  ,          \         P                  \         P                  ^,          ,          ,
          \         P                  ,          ,           8X  g   Q h\        W4      \        W4      ) 8X  g   Q h\        W4      \        W4      ,           \        P                  8X  g   Q hR#    N)r"   xizjykr   doitr   r   zerov1v2s     @/usr/lib/python3/dist-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                     \         P                  \        ,          \         P                  \         P                  ,          \        ,          ,           p \         P                  \        ,          \         P
                  \        ,          ,           \         P                  \        ,          ,           p\        W4      \        W4      ,           \        P                  8X  g   Q hR # )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                     \         P                  \        ,          \         P                  \         P                  ,          \        ,          ,           p \         P                  \        ,          \         P
                  \        ,          ,           \         P                  \        ,          ,           p\        W4      \        \         P                  \         P                  ,          \         P                  ^,          \         P                  ,          ,           \         P                  \         P                  ,          \         P
                  \         P                  ,          ,           \         P                  \         P                  ,          ,           4      8X  g   Q h\        W4      P                  4       \         P                  ^,          \         P
                  \         P                  ^,          ,          ,           8X  g   Q h\        W4      P                  4       \         P                  ^,          \         P
                  \         P                  ^,          ,          ,           8X  g   Q h\        W4      \        W4      8X  g   Q hR# r$   )	r"   r&   r'   r(   r)   r*   r+   r   r,   r.   s     r1   test_dotr7   ,   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                    ^\         ,          p V \         ^,          8X  g   Q hV P                  \         ^/8X  g   Q h^\        ,          ^\         ,          ,           ^\        ,          ,           p^\        ,          ^\         ,          ,           \        ,           ^\        ,          ,           \        ,           pW!8X  g   Q hVP	                  4       VP	                  4       8X  g   Q hR# )ze
Test whether the Vector framework confirms to the hashing
and equality testing properties of SymPy.
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                  P   \         P                  P                  \        \        4      J g   Q h\         P
                  P                  \        \        4      J g   Q h\         P                  P                  \        \        4      J g   Q h\         P                  P                  \        J g   Q h\         P                  P                  \        J g   Q h\         P                  P                  \        J g   Q h\        P                  ! \        \        \        4      4      \        \        4      J g   Q h\        ^\         P                  4      P                  \        \        4      J g   Q h\         P                  \        ,          \         P                  \         P                  ,          \
        ,          ,           p \         P                  \        ,          \         P                  \
        ,          ,           \         P                  \        ,          ,           pV P                  \        \        4      J g   Q hVP                  \        \        4      J g   Q hW,           P                  \        \        4      J g   Q h\        W4      P                  \        \        4      J g   Q h\        W4      P                  4       P                  \        \        4      J g   Q h\        W4      P                  \        \        4      J g   Q h\!        ^V 4      P                  \        \        4      J g   Q h\#        4       P                  \        \        4      J g   Q hV P%                  V4      P                  \        \        4      J g   Q hVP%                  V 4      P                  \        \        4      J g   Q hR# r$   )r"   r'   kindr   r    r)   r+   r&   r*   r(   r   _kind_dispatcherr   r   r,   r   r   r   
projectionr.   s     r1   	test_kindrB   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                  J   \        \        \        P                  \        P                  4      \
        4      '       g   Q h\        P                  \        ,          \        P                  \        P                  ,          \        ,          ,           p \        P                  \        ,          \        P                  \        ,          ,           \        P                  \        ,          ,           p\        \        W4      \
        4      '       g   Q h\        \        P                  \        P                  \        P                  .4      P                  p\        . RO4      pW#,          pV^ ,          P                  \        4       8X  g   Q h\        V^ ,          \
        4      '       g   Q hR# )   N)rD   r%      )
isinstancer   r"   r'   r)   r   r&   r(   r*   r+   MatrixTr?   r   )r/   r0   Eaavs        r1   test_vectoraddrL   _   s    c!##qssmY////	
q1339q=	 B	
q1337	QSS1W	$Bc"k9---- 	QSS!##!!AyA	
Ba5::%%%beY''''r3   c                  p  a \        \        \        4      '       g   Q h\        \        8w  g   Q h\        \        8w  g   Q h\        \        8w  g   Q h\        \        ,
          \
        P                  8X  g   Q h\        \
        P                  ,           \        8X  g   Q h\        \
        P                  ,
          \        8X  g   Q h\
        P                  ^ 8w  g   Q h\
        P                  ) \
        P                  8X  g   Q h\        \        ,          \        \        ,          ,           \        \        ,          ,           o\        ^,          \        ,          \        ^,          \        ,          ,           \        ^,          \        ,          ,           p SV ,           p^S,          p\        \        ,          p\        S\        4      '       g   Q hSS,
          \
        P                  8X  g   Q hS\
        P                  ,           S8X  g   Q hSP                  \        4      \        8X  g   Q hSP                  \        4      \        8X  g   Q hSP                  \        4      \        8X  g   Q h\        P                  V 4      \        ^,          8X  g   Q h\        P                  V 4      \        ^,          8X  g   Q h\        P                  V 4      \        ^,          8X  g   Q hVP                  \        4      \        ^,          \        ,           8X  g   Q hVP                  \        4      \        ^,          \        ,           8X  g   Q hVP                  \        4      \        ^,          \        ,           8X  g   Q hSV ,           V S,           8X  g   Q hSV ,
          RV S,
          ,          8X  g   Q h\        S,          S\        ,          8X  g   Q h\        V\        4      '       g   Q hVP                  \        8X  g   Q hVP                  \        8X  g   Q h\        V\
        4      '       g   Q h\        V\        4      '       g   Q h\        V\
        4      '       g   Q h\        \
        P                  \        4      '       g   Q h\        \
        P                  \
        4      '       g   Q h\        S^ ,          \        4      '       g   Q hSP!                  \"        4      \%        \        .\        .\        ..4      8X  g   Q h\        P&                  \        ^/8X  g   Q hVP&                  \        \        /8X  g   Q hSP&                  \        \        \        \        \        \        /8X  g   Q h\        S\
        P                  4      S8X  g   Q h\        \        S4      S\        ,          8X  g   Q h\        ^\        4      \        8X  g   Q h\        S\
        P                  4      S8X  g   Q h\        ^ \
        P                  4      \
        P                  8X  g   Q h\)        \*        V3R l4       \)        \*        V3R l4       R# )r   c                  &   < S P                  ^4      # rD   )outerr/   s   r1   <lambda>test_vector.<locals>.<lambda>   s    bhhqkr3   c                  &   < S P                  ^4      # rO   )dotrQ   s   r1   rR   rS      s    bffQir3   N)rF   r'   r   r)   r+   r   r-   rJ   bcr   rU   r   base_vectormeasure_numberr   	to_matrixr"   rG   r9   r   	TypeError)r0   r<   v4v5r/   s       @r1   test_vectorr_   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                  l   \         P                  P                  4       ^ 8X  g   Q h\         P                  P                  4       \         P                  8X  g   Q h\        P                  4       ^8X  g   Q h\
        P                  4       ^8X  g   Q h\        P                  4       ^8X  g   Q h\        P                  4       \        8X  g   Q h\
        P                  4       \
        8X  g   Q h\        P                  4       \        8X  g   Q h\        \        ,          p V P                  4       \        \        \        ^,          4      ,          \        ,          8X  g   Q hV P                  4       \        \        ^,          4      8X  g   Q h\        \        ,          \        \
        ,          ,           \        \        ,          ,           pVP                  4       \        \        ^,          \        ^,          ,           \        ^,          ,           4      8X  g   Q hVP                  4       WP                  4       ,          8X  g   Q h\        \
        ,           pVP                  4       \        ^4      ^,          \        P                  ,          \        ^4      ^,          \        P
                  ,          ,           8X  g   Q hR# )r   N)r   r-   	magnitude	normalizer'   r)   r+   rJ   r   rW   rX   r"   r;   s      r1   test_vector_magnitude_normalizerc      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                     \        R 4      w  rr#^\        ,          ^\        ,          ,           \        ,          pV\        ,          \        \        ,           \        \        ,          ,          8w  g   Q h\	        V4      pV\        ,          \        \        ,           \        \        ,          ,          8X  g   Q hVP	                  4       \	        V4      8X  g   Q hV ^,          V^,          ,          ^\
        ,          V,          V^,          ,          ,          \        ,          p\	        V4      pV\        ,          V ^,          V^,          ,          ^\
        ,          V,          V^,          ,          ,          8X  g   Q h^^\        ,          ,           ^^^\        ,          ,           ,          ,
          ^^\        ,          ,           ,          \        ,          p\	        V4      pV\        ,          ^ 8X  g   Q hR\        ,          \        ^,          ,          ^\        ^,          ,          ,
          ^\        ^,          ,          \        ,          ,
          \        \        ,           ^,          ,          \        ,          p\	        V4      pV\        ,          R\        ,          8X  g   Q h\        \        4      \        \        4      ,           ^,          \        ,          \        ,
          p\        V4      ^\        \        \
        ^,          ,           4      ^,          ,          \        ,          R\        ,          ,           8X  g   Q h\        V4      VP                  4       8X  g   Q h\	        \        P                  4      \        P                  8X  g   Q hR# )z
A, s, k, mNrV   )r   rJ   rW   r'   r   r   r   r   r)   r	   r   r-   )	Asr+   mtest1test2test3test4vs	            r1   test_vector_simplifyro      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                     ^\         ,          P                  \        4      RJ g   Q h\         P                  \         4      RJ g   Q h\        ^4      \        ^4      ,           \        \        ^4      ^,           4      ,          p V \         ,          P                  ^\         ,          4      RJ g   Q hV \         ,          P                  ^\         ,          4      RJ g   Q h\        P                  R\        ^,          \        P                  4      pVP                   P                  \        P                  4      RJ g   Q hVP                   P                  \        P                   4      RJ g   Q hR# )r%   FTDN)r'   equalsr)   r   r"   orient_new_axisr   r+   )rg   rq   s     r1   test_vector_equalsrt      s    aC<<?e###88A;$ 
a47	d47Q;//AaC<<!$$$aC<<!%%% 	
#r!tQSS)ACC<<$$$CC<<%%%r3   c                  .   \         \        ,          ^\         ,           \        ,          ,           ^\        ,          ,           P	                  4       \         ) \        ,          ^\         ,
          \        ,          ,           ^\        ,          ,           8X  g   Q hR# rD   N)r   r'   r)   r+   	conjugate r3   r1   test_vector_conjugatery      sN    aC1q5!)Oac!,,.1"Q$!a%2BQqS2HHHHr3   c                     \         P                  \        P                  4      ^ 8X  g   Q h\        P                  P                  \         4      ^ 8X  g   Q h\         \        P                  ,          ^ 8X  g   Q h\         P                  \         4      ^8X  g   Q h\         P                  \        4      ^ 8X  g   Q h\         P                  \
        4      ^ 8X  g   Q h\         \         ,          ^8X  g   Q h\         \        ,          ^ 8X  g   Q h\         \
        ,          ^ 8X  g   Q h\        P                  \         4      ^ 8X  g   Q h\        P                  \        4      ^8X  g   Q h\        P                  \
        4      ^ 8X  g   Q h\        \         ,          ^ 8X  g   Q h\        \        ,          ^8X  g   Q h\        \
        ,          ^ 8X  g   Q h\
        P                  \         4      ^ 8X  g   Q h\
        P                  \        4      ^ 8X  g   Q h\
        P                  \
        4      ^8X  g   Q h\
        \         ,          ^ 8X  g   Q h\
        \        ,          ^ 8X  g   Q h\
        \
        ,          ^8X  g   Q h\        \        R 4       R# )r   c                  ,    \         P                  ^4      # rO   )r+   rU   rx   r3   r1   rR   !test_vector_dot.<locals>.<lambda>  s    aeeAhr3   N)r'   rU   r   r-   r)   r+   r   r\   rx   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                  >   \         P                  \        P                  4      \        P                  8X  g   Q h\        P                  P                  \         4      \        P                  8X  g   Q h\         P                  \         4      \        P                  8X  g   Q h\         P                  \        4      \
        8X  g   Q h\         P                  \
        4      \        ) 8X  g   Q h\         \         ,          \        P                  8X  g   Q h\         \        ,          \
        8X  g   Q h\         \
        ,          \        ) 8X  g   Q h\        P                  \         4      \
        ) 8X  g   Q h\        P                  \        4      \        P                  8X  g   Q h\        P                  \
        4      \         8X  g   Q h\        \         ,          \
        ) 8X  g   Q h\        \        ,          \        P                  8X  g   Q h\        \
        ,          \         8X  g   Q h\
        P                  \         4      \        8X  g   Q h\
        P                  \        4      \         ) 8X  g   Q h\
        P                  \
        4      \        P                  8X  g   Q h\
        \         ,          \        8X  g   Q h\
        \        ,          \         ) 8X  g   Q h\
        \
        ,          \        P                  8X  g   Q h\
        P                  ^4      \        \
        ^4      8X  g   Q hR# rv   )r'   r   r   r-   r)   r+   r   rx   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                  X   \         \        ,           \        ,           p ^\         ,          ^\        ,          ,           p^ \         ,          ^ \        ,          ,           pV P                  V 4      \         \        ,           \        ,           8X  g   Q hV P                  V4      \	        ^^4      \
        P                   ,          \	        ^^4      \
        P                  ,          ,           \	        ^^4      \
        P                  ,          ,           8X  g   Q hV P                  V RR7      \        P                  8X  g   Q hV P                  VRR7      \	        ^^4      8X  g   Q hVP                  V 4      \        P                  8X  g   Q hVP                  V RR7      \        P                  8X  g   Q hR# )rE   T)scalarN)r'   r)   r+   rA   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                     \        R 4      p V ! \        4      \        P                  ,          \        ^,          \        P                  ,          ,           \        P
                  ,
          p\        V\        4      \        V ! \        4      \        P                  ,          \        ^,          \        P                  ,          ,           R\        P
                  ,          ,           \        4      8X  g   Q h\        V\        4      VP                  \        4      u;8X  d   \        V\        4      P                  4       u;8X  d]   \        V ! \        4      \        4      \        P                  ,          ^\        ,          \        P                  ,          ,           8X  g   Q h Q h\        V\        4      \        V ! \        4      \        4      \        P                  ,          \        \        ^,          \        4      \        P                  ,          ,           \        R\        4      \        P
                  ,          ,           8X  g   Q hR# )fNrV   )
r   rJ   r"   r'   r)   r+   r
   r   r,   r   )r   rn   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                  J    \        \        R  4       \        \        R 4       R# )c                  "    \        ^\        4      # )rE   )r   r"   rx   r3   r1   rR   "test_vector_args.<locals>.<lambda>B  s    z!Q/r3   c                  6    \        ^ \        P                  4      # )r   )r   r   r-   rx   r3   r1   rR   r   C  s    jFKK8r3   N)r   
ValueErrorr\   rx   r3   r1   test_vector_argsr   A  s    
:/0
989r3   c                  P    ^ RI Hp  RpV ! \        P                  4      V8X  g   Q hR# )r   )sreprzCoordSys3D(Str('C'), Tuple(ImmutableDenseMatrix([[Integer(1), Integer(0), Integer(0)], [Integer(0), Integer(1), Integer(0)], [Integer(0), Integer(0), Integer(1)]]), VectorZero())).iN)sympy.printing.reprr   r"   r'   )r   ress     r1   
test_sreprr   F  s%    )GC :r3   c                     ^ RI Hp  V ! R4      p^VP                  ,          ^VP                  ,          ,           ^VP                  ,          ,           p^VP                  ,          ^VP                  ,          ,
          ^VP                  ,          ,           pVP
                  RJ g   Q hVP                  RJ g   Q hVP                  V4      P                  RJ g   Q hVP                  V4      P                  RJ g   Q hR# )r   r   r"   TFN)	sympy.vectorr   r'   r)   r+   	is_Vector	is_scalarrU   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   rG   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+   rJ   rW   rX   r2   r5   r7   r=   rB   rL   r_   rc   ro   rt   ry   r}   r   r   r   r   r   r   rx   r3   r1   <module>r      s    / / - < < ! % 9 ? . C  0 1 1 ' ( & & sO
..
1a
'
1a8 8 8&*<8( 8)v?.08&I
(:%8	4=:
-r3   