
    gE                         d dl mZmZ d dlmZ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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j        eez            Zd Z dS )    )
DerivativeFunction)Ipi)Symbolsymbols)sqrt)atan2cossin)simplify)epsilonmu)exp)speed_of_lightmsTWave)raisesc                     t          d          \  } }t          d          }t          d          t          d          }t          d          }t                    }t          | |          }|j        k    sJ |j        k    sJ |j        k    sJ |j        t          |z  z  k    sJ |j	        dz  k    sJ |j
        dt          z  z  k    sJ |j        dt          z  z  |z  t          z  k    sJ |j        t          |z  k    sJ ||z   }|j        t          dz  dz  | z  t          |z
            z  z   | dz  z             k    sJ |j        k    sJ |j        t!          t#                    z  | t#          |          z  z   t                    z  | t          |          z  z             k    sJ |j        t          |z  z  k    sJ |j	        dz  k    sJ |j
        dt          z  z  k    sJ |j        dt          z  z  |z  t          z  k    sJ |j        t          |z  k    sJ t%          |                    t"                    |                    t"                    z
  |                    t"                    z
            dk    sJ |                    d	          t(          t*          z  t-           ||                    z  t-           ||          ||          z   k    sJ |                    t                    t          dz  dz  | z  t          |z
            z  z   | dz  z             t          t          z  |z  |z  t.          z  d
t0          z  z  dt          z  z  z  z
  t!          t#                    z  | t#          |          z  z   t                    z  | t          |          z  z             z             z  k    sJ |                    t2                    t          dz  dz  | z  t          |z
            z  z   | dz  z             t3          t4          dt          z  z  z  t!          t#                    z  | t#          |          z  z   t                    z  | t          |          z  z             z   t          t.          z  z  |z  |z  d
t0          z  z  z   z            z  k    sJ t          d ddz            }|j        k    sJ ||z
  }	|	j        t          dz  dz  | z  t          |z
            z  z
  | dz  z             k    sJ |	j        k    sJ |	j        t!          t#                    z  | t#          |          z  z
  t                    z  | t          |          z  z
            k    sJ |	j        t          |z  z  k    sJ |	j	        dz  k    sJ |	j
        dt          z  z  k    sJ |	j        dt          z  z  |z  t          z  k    sJ |	j        t          |z  k    sJ t%          |	                    t"                    |                    t"                    z
  |                    t"                    z             dk    sJ |	                    d	          t(          t*          z  t-           ||                    z  t-           ||          ||          z   k    sJ |	                    t                    t          dz  dz  | z  t          |z
            z  z
  | dz  z             t          dt          z  z  z  t!          t#                    z  | t#          |          z  z
  t                    z  | t          |          z  z
            z   t          t.          z  z  |z  |z  d
t0          z  z  z             z  k    sJ |	                    t2                    t          dz  dz  | z  t          |z
            z  z
  | dz  z             t3          t4          dt          z  z  z  t!          t#                    z  | t#          |          z  z
  t                    z  | t          |          z  z
            z   t          t.          z  z  |z  |z  d
t0          z  z  z   z            z  k    sJ d|z  }
|
j        dz  k    sJ |
j        k    sJ |
j        k    sJ |
 }|j        dz  k    sJ |j        k    sJ |j        k    sJ t7          t8          fd           t7          t8          fd           d S )NzA1, phi1, A2, phi2, fntxE      r   pdei%<c                  "    t                     S Nr   )A1s   a/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/optics/tests/test_waves.py<lambda>ztest_twave.<locals>.<lambda>Q   s    eBii     c                  (    t                     S r!   r   )r"   fphi1r   s   r#   r$   ztest_twave.<locals>.<lambda>R   s    eB433 r%   )r   r   r   r   	amplitude	frequencyphase
wavelengthctime_periodangular_velocityr   
wavenumberspeedr	   r   r
   r   r   rewriter   r   r   r   r   r   r   r   
ValueError)A2phi2r   r   r   w1w2w3w4w5w6w7r"   r'   r(   r   s               @@@@r#   
test_twaver=      s	   #$;<<Bb$sAsAsAA	r1d		B	r1d		B<2<18t=AqsG####>QqS    !B$q&((((=AbDF1HQJ&&&&8qs????	bB<4A"RD4K0@0@(@ @2q5 HIIIIII<18uRD		\Bs4yyL8"SYY,CPTII:UVVVVVV=AqsG####>QqS    !B$q&((((=AbDF1HQJ&&&&8qs????BJJsOObjjoo5

3GHHAMMMM::e
:aa1ggq!+D+D DzRSRSTUWXRYRY[\^_G`G` `````::c??d2q51R473td{3C3C+C#C
a%$  RT!VAXaZ1-"Qq85CII
SYY,B3t99r#d))|3<5 <5 5 6 66 6 6 6 6 ::c??d2q51R473td{3C3C+C#C
a%$  Q2a	E"SYY,CII*Er#d))|
SYY,H % % Q$q&(1*ik23 4 5 55 5 5 5 5 
r4AaC	 	 B<1	bB<4A"RD4K0@0@(@ @2q5 HIIIIII<18uRD		\Bs4yyL8"SYY,CPTII:UVVVVVV=AqsG####>QqS    !B$q&((((=AbDF1HQJ&&&&8qs????BJJsOObjjoo5

3GHHAMMMM::e
:aa1ggq!+D+D DzRSRSTUWXRYRY[\^_G`G` `````::c??d2q51R473td{3C3C+C#C
a%$  RU1WQYr#d))|bTl'BBs4yyL
SYY,E " " Q$q&(1*ik23 4 44 4 4 4 4 ::c??d2q51R473td{3C3C+C#C
a%$  Q2a	E"SYY,CII*Er#d))|
SYY,H % % Q$q&(1*ik23 4 5 55 5 5 5 5 
2B<1R4<18t
B<2b5    <18t
:''''(((
:333333344444r%   N)!sympy.core.functionr   r   sympy.core.numbersr   r   sympy.core.symbolr   r   (sympy.functions.elementary.miscellaneousr	   (sympy.functions.elementary.trigonometricr
   r   r   sympy.simplify.simplifyr   	sympy.abcr   r   &sympy.functions.elementary.exponentialr   sympy.physics.unitsr   r   r   sympy.physics.opticsr   sympy.testing.pytestr   
convert_tor-   r=    r%   r#   <module>rK      s/   6 6 6 6 6 6 6 6 & & & & & & & & / / / / / / / / 9 9 9 9 9 9 F F F F F F F F F F , , , , , , ! ! ! ! ! ! ! ! 6 6 6 6 6 6 4 4 4 4 4 4 4 4 4 4 & & & & & & ' ' ' ' ' 'Nac""B5 B5 B5 B5 B5r%   