
    Qi                         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dS )    )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k    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                     t                     dk    sJ t          d          }t          dd          }t                               dd|t           j        g          }                    |                              ||          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   k    sJ                     |t                     t          |          |j        t           j        z  z  t          |           |j        t           j        z  z  z   k    sJ                     t           |          t          |          t           j        |j        z  z  t          |           t           j        |j        z  z  z   k    sJ                     |          | t           j        t           j        z  z  | t           j        t           j        z  z  z   k    sJ 
                    t                     t          g d	g d
g d
g          k    sJ 
                    t           |          t          t          |          t          |           dgg d
g d
g          k    s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   }|                    |          }|
                    t                     t          ||z  ||	z  ||
z  g||z  ||	z  ||
z  g||z  ||	z  ||
z  gg          k    sJ |                    |          }t                               dd|t           j        g          }t          |                    t                     |
                    t                     z  |                    t                     j        z  |
                    |                    D ]"\  }}||z
                                  dk    sJ #t%          t&          fd           d S )Nr      g       @g      ?q   BAxis)r   r   r   )r   r   r   )r   r   r   za, b, c, d, e, fCc                  .                          d          S Nr   )	applyfunc)d1s   ~/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/sympy/physics/vector/tests/test_dyadic.py<lambda>ztest_dyadic.<locals>.<lambda>A   s    bll1oo     )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`   	
qsB	
qsB	
qsB6Q;;;;77776QWqs]""""7cBhR=A7a<<<<8qs????8q====8qsQSy    8uqs{""""8uqs{""""38q====38uqs{""""38qsQSy    38qs????38q====38qs????7acACi7a<<<<5588q====sA	Q		B	C!QS**A::a==BJJq!,,,,,,::a==c!ffaiAC!#I63q66'CFF:JS13Y: FF7SVV+ac	:;>A!ffaiS13Y>     ::aA1395#a&&QS13Y8OOOOOO::aA1395#a&&QS13Y8OOOOOO5588ac	*rcacACi-@@@@@@<<??fiiiIII%FGGGGGG<<1#a&&3q66'1)=)2)2)4 "5 "5 5 5 5 5 <<??fiiiIII%FGGGGGG122Aq!Q1	
QS1qs7	QW	$B	
QS1qs7	QW	$B	"B<<??fq1ua!eQU&;'(1ua!eQU&;'(1ua!eQU&;&= > > > > > > 
"B	C!QS**Aa2<<?? :QUU1XXZ G "Q1 1 3 3&6!++--22222
9----.....r   c            
      b   t          d          \
  } }}}}}}}}}	t          d          }
|
j        |
j        z  }d| z  d|z  z   |z  }|
j        |z  |
j        z  | |z   | |z  z  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        |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        |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        |z  |
j        z  d	|z  k    sJ d S )
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#J Aq!Q1aAqsA	
qsBUQU]b EC%K!#1q5QU"33333NNEC%K!#1q5QU"33333TAqD[AFQJA-."4ENNEC%K!#1a4!Q$;!b&1*q!t2C#DEEEE!a%i!q1q5y/)a!a%i8B>ENNEC%K!#!####1fq!tma!Q$h&QTA5!a%!CrIENNEC%K!#"q&((((((r   c                      t          d          } t          d          }|| j        | j        z  z  }|                    |di          d| j        | j        z  z  k    sJ d S )Nr<   rE   r   )r	   r   r   subs)r<   rE   r.   s      r   test_dyadic_subsrN   [   s\    sAA	139A661a&>>Qac	]******r   c                  2    t          t          d            d S )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                  0   t          d          } t          | j        | j        z  z  }|                    d          t	          dd          | j        | j        z  z  k    sJ t          d          }d|z  t          z  | j        | j        z  z  }|                    d          t	          dd          t	          dd          z  |z  | j        | j        z  z  k    sJ |                    d|d	i
          t	          dd          | j        | j        z  z  k    sJ d S )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
acACiA771::x++qsQSy99999A	A
QS13YA771::sAx););;a?139MMMMM771Au:7&&%q*A*AQS13Y*OOOOOOOr   c                  f   t          d          \  } t          d          }t          |j        |j                  }z  |z                      t                    i          t                    z  |z  k    sJ                     z  t          i          t          |z  k    sJ z  | z  |z                      z  | z  di          |k    sJ                     d| di          |k    sJ t          t          fd           t          t          fd           d S )Nzx y zr<   r   r   c                  ,                                      S Nxreplace)vs   r   r   z&test_dyadic_xreplace.<locals>.<lambda>z   s    ajjll r   c                  2                          g          S r[   r\   )r^   r   r   s   r   r   z&test_dyadic_xreplace.<locals>.<lambda>{   s    ajj!Q0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ac13A	!aA::q3q66l##s1vvax!|3333::qsRj!!R!V++++	
1q1A::!ax!n%%****::qAaj!!Q&&&&
9****+++
90000001111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      s   * * * * * * * * % % % % % % ? ? ? ? ? ? ? ? C C C C C C F F F F F F F F F F 5 5 5 5 5 5 ' ' ' ' ' 'N35/ 5/ 5/p) ) ).+ + +0 0 0P P P2 2 2 2 2r   