
    sgU                         d dl mZ d dlmZ d dlmZmZ d dlmZ	 d dl
mZ d dlmZmZmZmZmZmZmZmZ  ed      Zd Zd	 Zd
 Zy)    )pi)symbols)cossin)ImmutableDenseMatrix)simplify)
CoordSys3DVectorDyadic	DyadicAdd	DyadicMul
DyadicZero
BaseDyadicexpressAc            	         t        d      \  } }t        j                  dk7  sJ t        t        j                  t              sJ t        t        j                  t        j                        t        t        j                  t        j                        k7  sJ t        t        j                  t        j                        t        t        j                  t        j                        cxk(  rt        j                  k(  sJ  J t        j                  t        j                  z  }t        j                  t        j                  z  }t        j                  t        j                  z  }t        |t
              sJ | |z  }t        |t              sJ |j                  |k(  sJ |j                  | k(  sJ t        | |z  ||z  z   t              sJ |t        j                  j                  t        j                        k(  sJ |t        j                  j                  t        j                        k(  sJ | t        j                  z  t        j                  z
  }t        j                  |t        j                  z  z   }||z  |j                  |      cxk(  r| t        j                  t        j                  z  z  | |z  t        j                  t        j                  z  z  z   t        j                  t        j                  z   z   |t        j                  t        j                  z  z  z
  k(  sJ  J |dz  t        j                  k(  sJ |t        j                  k7  sJ |dz  dt        j                  t        j                  z  z  k(  sJ |dz  d|z  k(  sJ |j!                  d|z        t        j                  k(  sJ ||z  t        j                  k(  sJ |j!                  t        j                        t        j                  cxk(  r|t        j                  z  k(  sJ  J |j#                  t        j                        t        j                  k(  sJ |j#                  t        j                        t        j                  k(  sJ |t        j                  z  |j#                  t        j                        k(  sJ |j#                  t        j                        t        j                   t        j                  z  k(  sJ |j#                  t        j                        t        j                   t        j                  z  cxk(  r|t        j                  z  k(  sJ  J t        j                  |z  t        j                  k(  sJ t        j                  j#                  |      t        j                   t        j                  z  cxk(  rt        j                  |z  k(  sJ  J t        j                  j#                  |      t        j                  k(  sJ t        j                  |z  t        j                  t        j                  z  k(  sJ t        j                  j!                  |      t        j                  |z  cxk(  rt        j                  k(  sJ  J t        j                  j!                  |      t        j                  k(  sJ t        j                  j!                  |      t        j                  k(  sJ t        j                  |z  t        j                  k(  sJ |j!                  |      ||z  cxk(  r+t        j                  t        j                  z  cxk(  r|k(  sJ  J ||z  t        j                  k(  sJ t        d      }t        j%                  d|t        j                        }	t'        ||	      t'        ||	|	      k(  sJ t)        |      dz  |	j                  |	j                  z  z  t+        |       t)        |      z  |	j                  |	j                  z  z  z   t+        |       t)        |      z  |	j                  |	j                  z  z  z   t+        |      dz  |	j                  |	j                  z  z  z   }
t'        ||	      |
z
  j-                         t        j                  k(  sJ t)        |      |	j                  t        j                  z  z  t+        |       |	j                  t        j                  z  z  z   }t'        ||	t              |z
  j-                         t        j                  k(  sJ t)        |      t        j                  |	j                  z  z  t+        |       t        j                  |	j                  z  z  z   }t'        |t        |	      |z
  j-                         t        j                  k(  sJ |j/                  t              t1        g dg d	g d	g      k(  sJ |j/                  t        |	      t1        t)        |      t+        |       dgg d	g d	g      k(  sJ |j/                  t              t1        g d
g d	g d	g      k(  sJ t        d      \  } }}}}}| t        j                  z  |t        j                  z  z   |t        j                  z  z   }|t        j                  z  |t        j                  z  z   |t        j                  z  z   }|j                  |      }|j/                  t              t1        | |z  | |z  | |z  g||z  ||z  ||z  g||z  ||z  ||z  gg      k(  sJ |j                  |      }t        j%                  d|t        j                        }t3        |j5                  t              |j/                  t              z  |j5                  t              j6                  z  |j/                  |            D ]  \  }}||z
  j-                         dk(  rJ  y )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                         Q/var/www/html/venv/lib/python3.12/site-packages/sympy/vector/tests/test_dyadic.pytest_dyadicr<      s   6?DAq;;!fkk:...acc133:acc133#7777v{{ACC(qssFKK(8,2KK8 9 8 9 8 
qssB	
qssB	
qssBb*%%%bDEeY'''"""1$$$adQrTk9---133133	
133B	
quB7bhhrl 'a133qss7mqsqss133w6G&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":b3ACC!##I3333337fkk!!!A	#q!##&A2q>WRA....!faiACC!##I&3q6'CF*:SS133Y* F7SV+acc	:;>A!faiSS133Y>E BNU",,.&++===Vacc	"s1vg!##)%<<EB1%//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Aq!Q1	
QSS1qss7	QW	$B	
QSS1qss7	QW	$B	"B<<?fq1ua!eQU&;'(1ua!eQU&;'(1ua!eQU&;&= > > > > 
"B	#q!##&A 1 1! 4r||A F 00355!679||AH 3&6!++-2223    c            
         t        d      \
  } }}}}}}}}}	t        d      }
|
j                  |
j                  z  }d| z  d|z  z   |z  }|
j                  |z  |
j                  z  | |z   | |z  z  k7  sJ |j                         }|j                         t        |      k(  sJ |
j                  |z  |
j                  z  | |z   | |z  z  k(  sJ |	dz  |dz  z  dt        z  |z  |dz  z  z  |z  }|j                         }|
j                  |z  |
j                  z  |	dz  |dz  z  dt        z  |z  |dz  z  z  k(  sJ dd| z  z   ddd| z  z   z  z
  dd| z  z   z  |z  }|j                         }|
j                  |z  |
j                  z  dk(  sJ d| z  |dz  z  d|dz  z  z
  d| dz  z  |z  z
  | |z   dz  z  |z  }|j                         }|
j                  |z  |
j                  z  d	|z  k(  sJ y )
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 Aq!Q1aAq3A	
qssBUQU]b ECC%K!##1q5QU"3333NNE>>x...CC%K!##1q5QU"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!a%!CrIENNECC%K!##"q&(((r=   c                  v    ddl m}  t        d      }|j                  |j                  z  }d} | |      |k(  sJ y )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=   