
    sg                         d dl mZmZ d dlmZ d dlmZmZ d dlm	Z
 d dlmZmZmZ d dlmZ d dlmZ  ed      Zd	 Zd
 Zd Zd Zd Zd Zy)    )Floatpi)symbols)cossin)ImmutableDenseMatrix)ReferenceFramedynamicsymbolsouter_check_dyadic)raisesAc            	      .   t         j                  t         j                  z  t         j                  t         j                  z  } t         j                  t         j                  z  }dz  dk(  sJ dk7  sJ dz  dt         j                  z  t         j                  z  k(  sJ dz  dz  k(  sJ dz  z  dk(  sJ | z  dk(  sJ t         j                  z  t         j                  k(  sJ t         j                  z  dk(  sJ t         j                  z  t         j                  t         j                  z  k(  sJ t         j                  z  t         j                   t         j                  z  k(  sJ | t         j                  z  t         j                   t         j                  z  k(  sJ t         j                  z  dk(  sJ t         j                  z  t         j                   t         j                  z  k(  sJ t         j                  z  t         j                  t         j                  z  k(  sJ t         j                  z  t         j                  k(  sJ t         j                  z  dk(  sJ t         j                  | z  t         j                  k(  sJ |z  t         j                  t         j                  z  k(  sJ |z  dk(  sJ j	                  t               dk(  sJ t        d      }t        dd      }t         j                  dd|t         j                  g      }j                  |      j                  ||      k(  sJ 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   k(  sJ j                  |t               t        |      |j                  t         j                  z  z  t        |       |j                  t         j                  z  z  z   k(  sJ j                  t         |      t        |      t         j                  |j                  z  z  t        |       t         j                  |j                  z  z  z   k(  sJ j	                  |      | t         j                  t         j                  z  z  | t         j                  t         j                  z  z  z   k(  sJ j                  t               t        g d	g d
g d
g      k(  sJ j                  t         |      t        t        |      t        |       dgg d
g d
g      k(  sJ |j                  t               t        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               t        ||z  ||	z  ||
z  g||z  ||	z  ||
z  g||z  ||	z  ||
z  gg      k(  sJ |j                  |      }t         j                  dd|t         j                  g      }t        |j                  t               |j                  t               z  |j                  t               j                   z  |j                  |            D ]  \  }}||z
  j#                         dk(  rJ  t%        t&        fd       y )Nr      g       @g      ?q   BAxis)r   r   r   )r   r   r   )r   r   r   za, b, c, d, e, fCc                  &     j                  d      S Nr   )	applyfunc)d1s   Y/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/vector/tests/test_dyadic.py<lambda>ztest_dyadic.<locals>.<lambda>A   s    bll1o     )r   xyzdtr
   	orientnewexpressr   r   	to_matrixMatrixr   r   zipdcmTsimplifyr   	TypeError)d2d3r   qdr   abcdefv1v2d4d5r   expectedactualr   s                     @r   test_dyadicr:      s   	
qssB	
qssB	
qssB6Q;;7N76QWqss]"""7cBhR=A7a<<8qss??8q==8qssQSSy   8uqss{"""8uqss{"""338q==338uqss{"""338qssQSSy   338qss??338q==338qss??7accACCi7a<<558q==sA	Q	B	C!QSS*A::a=BJJq!,,,,::a=c!faiACC!##I63q6'CF:JSS133Y: F7SV+acc	:;>A!faiSS133Y>    ::aA13395#a&QSS133Y8OOOOO::aA13395#a&QSS133Y8OOOOO558acc	*rcaccACCi-@@@@@<<?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	C!QSS*Aa2<<? :QUU1XZZ G "Q1 3&6!++-2223 9-.r   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                  |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   )r   r   r    knmwr3   sr   r<   dytest1test2test3test4s                   r   test_dyadic_simplifyrK   D   s   #*+I#J Aq!Q1aAqsA	
qssBUQU]b ECC%K!##1q5QU"3333NNE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                      t        d      } t        d      }|| j                  | j                  z  z  }|j                  |di      d| j                  | j                  z  z  k(  sJ y )Nr<   rE   r   )r	   r   r   subs)r<   rE   r.   s      r   test_dyadic_subsrN   [   sT    sAA	1339A661a&>Qacc	]***r   c                  &    t        t        d        y )Nc                      t        d      S r   r    r   r   r   z#test_check_dyadic.<locals>.<lambda>c   s    mA. r   )r   r*   rQ   r   r   test_check_dyadicrR   b   s    
9./r   c                  @   t        d      } t        | j                  | j                  z  z  }|j                  d      t	        dd      | j                  | j                  z  z  k(  sJ t        d      }d|z  t        z  | j                  | j                  z  z  }|j                  d      t	        dd      t	        dd      z  |z  | j                  | j                  z  z  k(  sJ |j                  d|d	i
      t	        dd      | j                  | j                  z  z  k(  sJ y )Nr<   r>   z3.1416rE      r   5	   g"~@)rM   z80.48760378)r	   r   r   evalfr   r   )r<   r.   rE   s      r   test_dyadic_evalfrX   f   s    sA
accACCiA771:x+qssQSSy9999A	A
QSS133YA771:sAx);;a?1339MMMM771Au:7&%q*AQSS133Y*OOOOr   c                     t        d      \  } t        d      }t        |j                  |j                        }z  |z  j	                  t              i      t              z  |z  k(  sJ j	                  z  t        i      t        |z  k(  sJ z  | z  |z  j	                  z  | z  di      |k(  sJ j	                  d| di      |k(  sJ t        t        fd       t        t        fd       y )Nzx y zr<   r   r   c                  $     j                         S Nxreplace)vs   r   r   z&test_dyadic_xreplace.<locals>.<lambda>z   s    ajjl r   c                  *     j                  g      S r[   r\   )r^   r   r   s   r   r   z&test_dyadic_xreplace.<locals>.<lambda>{   s    ajj!Q0 r   )	r   r	   r   r   r]   r   r   r   r*   )r    r<   Dr^   r   r   s      @@@r   test_dyadic_xreplacera   p   s    gGAq!sAacc133A	!aA::q3q6l#s1vax!|333::qsRj!R!V+++	
1q1A::!ax!n%***::qAaj!Q&&&
9*+
901r   N)sympy.core.numbersr   r   sympy.core.symbolr   (sympy.functions.elementary.trigonometricr   r   sympy.matrices.immutabler   r%   sympy.physics.vectorr	   r
   r   sympy.physics.vector.dyadicr   sympy.testing.pytestr   r   r:   rK   rN   rR   rX   ra   rQ   r   r   <module>ri      sG    * % ? C F F 5 '35/p).+0P2r   