
    \hU                         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JrJrJr  \" S5      rS rS	 rS
 rg)    )pi)symbols)cossin)ImmutableDenseMatrix)simplify)
CoordSys3DVectorDyadic	DyadicAdd	DyadicMul
DyadicZero
BaseDyadicexpressAc            	      H   [        S5      u  p[        R                  S:w  d   e[        [        R                  [        5      (       d   e[        [        R                  [        R                  5      [        [        R                  [        R                  5      :w  d   e[        [        R                  [        R                  5      [        [        R                  [        R                  5      s=:X  a  [        R                  :X  d   e   e[        R                  [        R                  -  n[        R                  [        R                  -  n[        R                  [        R                  -  n[        U[
        5      (       d   eX-  n[        U[        5      (       d   eUR                  U:X  d   eUR                  U :X  d   e[        X-  X-  -   [        5      (       d   eU[        R                  R                  [        R                  5      :X  d   eU[        R                  R                  [        R                  5      :X  d   eU [        R                  -  [        R                  -
  n[        R                  U[        R                  -  -   nXg-  UR                  U5      s=:X  a  U [        R                  [        R                  -  -  X-  [        R                  [        R                  -  -  -   [        R                  [        R                  -  * -   U[        R                  [        R                  -  -  -
  :X  d   e   eUS-  [        R                  :X  d   eU[        R                  :w  d   eUS-  S[        R                  [        R                  -  -  :X  d   eUS-  SU-  :X  d   eUR!                  SU-  5      [        R                  :X  d   eX#-  [        R                  :X  d   eUR!                  [        R                  5      [        R                  s=:X  a  U[        R                  -  :X  d   e   eUR#                  [        R                  5      [        R                  :X  d   eUR#                  [        R                  5      [        R                  :X  d   eU[        R                  -  UR#                  [        R                  5      :X  d   eUR#                  [        R                  5      [        R                  * [        R                  -  :X  d   eUR#                  [        R                  5      [        R                  * [        R                  -  s=:X  a  U[        R                  -  :X  d   e   e[        R                  U-  [        R                  :X  d   e[        R                  R#                  U5      [        R                  * [        R                  -  s=:X  a  [        R                  U-  :X  d   e   e[        R                  R#                  U5      [        R                  :X  d   e[        R                  U-  [        R                  [        R                  -  :X  d   e[        R                  R!                  U5      [        R                  U-  s=:X  a  [        R                  :X  d   e   e[        R                  R!                  U5      [        R                  :X  d   e[        R                  R!                  U5      [        R                  :X  d   e[        R                  U-  [        R                  :X  d   eUR!                  U5      X$-  s=:X  a-  [        R                  [        R                  -  s=:X  a  U:X  d   e   eXB-  [        R                  :X  d   e[        S5      n[        R%                  SU[        R                  5      n	['        X)5      ['        X)U	5      :X  d   e[)        U5      S-  U	R                  U	R                  -  -  [+        U5      * [)        U5      -  U	R                  U	R                  -  -  -   [+        U5      * [)        U5      -  U	R                  U	R                  -  -  -   [+        U5      S-  U	R                  U	R                  -  -  -   n
['        X)5      U
-
  R-                  5       [        R                  :X  d   e[)        U5      U	R                  [        R                  -  -  [+        U5      * U	R                  [        R                  -  -  -   n['        X)[        5      U-
  R-                  5       [        R                  :X  d   e[)        U5      [        R                  U	R                  -  -  [+        U5      * [        R                  U	R                  -  -  -   n['        U[        U	5      U-
  R-                  5       [        R                  :X  d   eUR/                  [        5      [1        / SQ/ S	Q/ S	Q/5      :X  d   eUR/                  [        U	5      [1        [)        U5      [+        U5      * S// S	Q/ S	Q/5      :X  d   eUR/                  [        5      [1        / S
Q/ S	Q/ S	Q/5      :X  d   e[        S5      u  ppnnU [        R                  -  U[        R                  -  -   U[        R                  -  -   nU[        R                  -  U[        R                  -  -   U[        R                  -  -   nUR                  U5      nUR/                  [        5      [1        X-  X-  U U-  /X-  X-  UU-  /X-  X-  UU-  //5      :X  d   eUR                  U5      n[        R%                  SU[        R                  5      n[3        UR5                  [        5      UR/                  [        5      -  UR5                  [        5      R6                  -  UR/                  U5      5       H  u  nnUU-
  R-                  5       S:X  a  M   e   g )Nza, br      g       @g      ?qB)   r   r   )r   r   r   )r   r   r   za, b, c, d, e, fC)r   r   zero
isinstancer   r   r   ijr
   r   base_dyadicmeasure_numberr   outerkdotcrossorient_new_axisr   r   r   r   	to_matrixMatrixziprotation_matrixT)abd1d2d3d_mulv1v2r   r   expr1expr2expr3cdefd4d5r   expectedactuals                         V/var/www/auris/envauris/lib/python3.13/site-packages/sympy/vector/tests/test_dyadic.pytest_dyadicr<      s   6?DA;;!fkk:....acc133:acc133#7777v{{ACC(qssFKK(8,2KK8 9 8 9 8 
qssB	
qssB	
qssBb*%%%%DEeY''''"""1$$$adQTk9----133133	
133B	
quB7bhhrl 'a133qss7mqsqss133w6G&Gcc!##g;'acc!##g'' ' ' ' ' '6V[[   6Q!##)_$$$7cBh66!b&>V[[(((7fkk!!!66!##;!##)acc)))))88FKK FKK///88ACC=FKK'''8rxx}$$$88ACC=accEACCK'''88ACC=accEACCK32833333338v{{"""3399R=accEACCK3133833333;;R FKK///338qssQSSy   33772;!##()acc)))))33772;&++%%%;;??2&++---338qss??66":3ACC!##I3333337fkk!!!A	#q!##&A2>WRA....!faiACC!##I&3q6'CF*:SS133Y* F7SV+acc	:;>A!faiSS133Y>E BNU",,.&++===Vacc	"s1vg!##)%<<EB1%//1V[[@@@Vacc	"s1vg!##)%<<EB1%//1V[[@@@<<?fiI%FGGGG<<1#a&3q6'1)=)2)2)4 "5 5 5 5 <<?fiI%FGGGG12A!1	
QSS1qss7	QW	$B	
QSS1qss7	QW	$B	"B<<?fquaeQU&;'(uaeQU&;'(uaeQU&;&= > > > > 
"B	#q!##&A 1 1! 4r||A F 00355!679||AH&6!++-222H    c            
         [        S5      u
  pp#pEpgp[        S5      n
U
R                  U
R                  -  nSU -  SU-  -   U-  nU
R                  U-  U
R                  -  X-   X-  -  :w  d   eUR                  5       nUR                  5       [        U5      :X  d   eU
R                  U-  U
R                  -  X-   X-  -  :X  d   eU	S-  US-  -  S[        -  U-  US-  -  -  U-  nUR                  5       nU
R                  U-  U
R                  -  U	S-  US-  -  S[        -  U-  US-  -  -  :X  d   eSSU -  -   SSSU -  -   -  -
  SSU -  -   -  U-  nUR                  5       nU
R                  U-  U
R                  -  S:X  d   eSU -  US-  -  SUS-  -  -
  SU S-  -  U-  -
  X-   S-  -  U-  nUR                  5       nU
R                  U-  U
R                  -  S	U-  :X  d   eg )
Nzx, y, z, k, n, m, w, f, s, ANr   r         r   )r   r	   r   r   r   )xyzr   nmwr6   sr   r?   dytest1test2test3test4s                   r;   test_dyadic_simplifyrP   c   s   #*+I#J A!aA3A	
qssBUQU]b ECC%K!##15QU"3333NNE>>x...CC%K!##15QU"3333TAqD[AFQJA-."4ENNECC%K!##1a4!Q$;!b&1*q!t2C#DEEE!a%i!q1q5y/)a!a%i8B>ENNECC%K!##!###1fq!tma!Q$h&QTA5!%!CrIENNECC%K!##"q&(((r=   c                  x    SSK Jn   [        S5      nUR                  UR                  -  nSnU " U5      U:X  d   eg )Nr   )sreprr?   ax  BaseDyadic(CoordSys3D(Str('N'), Tuple(ImmutableDenseMatrix([[Integer(1), Integer(0), Integer(0)], [Integer(0), Integer(1), Integer(0)], [Integer(0), Integer(0), Integer(1)]]), VectorZero())).i, CoordSys3D(Str('N'), Tuple(ImmutableDenseMatrix([[Integer(1), Integer(0), Integer(0)], [Integer(0), Integer(1), Integer(0)], [Integer(0), Integer(0), Integer(1)]]), VectorZero())).j))sympy.printing.reprrR   r	   r   r   )rR   r?   rK   ress       r;   test_dyadic_sreprrU   {   s;    )3A	
qssBQC 9r=   N)sympy.core.numbersr   sympy.core.symbolr   (sympy.functions.elementary.trigonometricr   r   sympy.matrices.immutabler   r$   sympy.simplify.simplifyr   sympy.vectorr	   r
   r   r   r   r   r   r   r   r<   rP   rU    r=   r;   <module>r]      s?    ! % ? C ,/ / /
 sOR3j)0r=   