
    gU                         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dS )    )pi)symbols)cossin)ImmutableDenseMatrix)simplify)
CoordSys3DVectorDyadic	DyadicAdd	DyadicMul
DyadicZero
BaseDyadicexpressAc            	         t          d          \  } }t          j        dk    sJ t          t          j        t                    sJ t          t          j        t          j                  t          t          j        t          j                  k    sJ t          t          j        t          j                  t          t          j        t          j                  cxk    rt          j        k    sn 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                            t          j                  k    sJ |t          j                            t          j                  k    sJ | t          j        z  t          j        z
  }t          j        |t          j        z  z   }||z  |                    |          cxk    rx| 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n J |dz  t          j        k    sJ |t          j        k    sJ |dz  dt          j        t          j        z  z  k    sJ |dz  d|z  k    sJ |                    d|z            t          j        k    sJ ||z  t          j        k    sJ |                    t          j                  t          j        cxk    r|t          j        z  k    sn J |                    t          j                  t          j        k    sJ |                    t          j                  t          j        k    sJ |t          j        z  |                    t          j                  k    sJ |                    t          j                  t          j         t          j        z  k    sJ |                    t          j                  t          j         t          j        z  cxk    r|t          j        z  k    sn J t          j        |z  t          j        k    sJ t          j                            |          t          j         t          j        z  cxk    rt          j        |z  k    sn J t          j                            |          t          j        k    sJ t          j        |z  t          j        t          j        z  k    sJ t          j                            |          t          j        |z  cxk    rt          j        k    sn J t          j                            |          t          j        k    sJ t          j                            |          t          j        k    sJ t          j        |z  t          j        k    sJ |                    |          ||z  cxk    r$t          j        t          j        z  cxk    r|k    sn J ||z  t          j        k    sJ t          d          }t                              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
                                  t          j        k    sJ t)          |          |	j        t          j        z  z  t+          |           |	j        t          j        z  z  z   }t'          ||	t                    |z
                                  t          j        k    sJ t)          |          t          j        |	j        z  z  t+          |           t          j        |	j        z  z  z   }t'          |t          |	          |z
                                  t          j        k    sJ |                    t                    t1          g dg d	g d	g          k    sJ |                    t          |	          t1          t)          |          t+          |           dgg d	g d	g          k    s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   }|                    |          }|                    t                    t1          | |z  | |z  | |z  g||z  ||z  ||z  g||z  ||z  ||z  gg          k    sJ |                    |          }t                              d|t          j                  }t3          |                    t                    |                    t                    z  |                    t                    j        z  |                    |                    D ]"\  }}||z
                                  dk    sJ #d S )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                         Z/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/vector/tests/test_dyadic.pytest_dyadicr<      s	   6??DAq;!fk:.....ac13:ac13#7#77777v{AC((qsFK((8 8 8 8,2K8 8 8 8 8 8 
qsB	
qsB	
qsBb*%%%%%bDEeY'''''""""1$$$$adQrTk9-----1313	
13B	
quB7bhhrll ' ' ' 'a13qs7mqsqs13w6G&Gc!#g;'ac!#g'' ' ' ' ' ' '6V[    6Q!#)_$$$$7cBh66!b&>>V[((((7fk!!!!66!#;;!#))))ac))))))88FK  FK////88AC==FK''''8rxx}}$$$$88AC==acEACK''''88AC==acEACK33332833333338v{""""399R==acEACK3333138333333;R  FK////38qsQSy    3772;;!#())))ac))))))3772;;&+%%%%;??2&+----38qs????66"::b3333AC!#I33333333337fk!!!!A	#q!#&&A2q>>WRA......!ffaiAC!#I&3q66'CFF*:S13Y* FF7SVV+ac	:;>A!ffaiS13Y>E BNNU",,..&+====VVac	"s1vvg!#)%<<EB1%//11V[@@@@VVac	"s1vvg!#)%<<EB1%//11V[@@@@<<??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	#q!#&&A 1 1! 4 4r||A F 00335!679||AH H 3 3&6!++--222223 3    c            
         t          d          \
  } }}}}}}}}}	t          d          }
|
j        |
j        z  }d| z  d|z  z   |z  }|
j        |z  |
j        z  | |z   | |z  z  k    s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        |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   )xyzr   nmwr6   sr   r?   dytest1test2test3test4s                   r;   test_dyadic_simplifyrP   c   s)   #*+I#J#J Aq!Q1aAq3A	
qsBUQU]b EC%K!#1q5QU"33333NNE>>x....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dl m}  t          d          }|j        |j        z  }d} | |          |k    sJ d S )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   {   sU    ))))))3A	
qsBQC 599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 C C C C C , , , , , ,/ / / / / / / / / / / / / / / / / / / /
 JsOOR3 R3 R3j) ) )0    r=   