Ë
    7^(h~  ã                   ó¸   — d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dl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mZmZmZmZmZmZm Z m!Z! d	„ Z"d
„ Z#y)é    )ÚN)ÚFloatÚIÚooÚpi)Úsymbols)Úsqrt)Úatan2)ÚMatrix)Úfactor)ÚBeamParameterÚCurvedMirrorÚCurvedRefractionÚ
FlatMirrorÚFlatRefractionÚ	FreeSpaceÚGeometricRayÚRayTransferMatrixÚThinLensÚconjugate_gauss_beamsÚgaussian_conjÚgeometric_conj_abÚgeometric_conj_afÚgeometric_conj_bfÚrayleigh2waistÚwaist2rayleighc                 ó0   — t        | «      t        |«      k(  S )N)Ústr)ÚaÚbs     úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/physics/optics/tests/test_gaussopt.pyÚstreqr"      s   € Üˆq‹6”S˜“VÑÐó    c            
      ó  — t        dddd«      } | t        ddgddgg«      k(  sJ ‚| t        t        ddgddgg«      «      k(  sJ ‚| j                  | j                  | j                  | j
                  gg d¢k(  sJ ‚t        d«      \  }}}}}}t        |«      }|t        ddgd|z  dgg«      k(  sJ ‚|j                  d|z  k(  sJ ‚t        |«      t        d|gddgg«      k(  sJ ‚t        ||«      t        ddgd||z  gg«      k(  sJ ‚t        |||«      t        ddg||z
  ||z  z  ||z  gg«      k(  sJ ‚t        «       t        ddgddgg«      k(  sJ ‚t        |«      t        ddgd	|z  dgg«      k(  sJ ‚t        |«      t        ddgd|z  dgg«      k(  sJ ‚t        |«      t        |«      z  }t        ddgd	|z  dgg«      t        d|gddgg«      z  }	|j                  |	d
   k(  sJ ‚|j                  |	d   k(  sJ ‚|j                  |	d   k(  sJ ‚|j
                  |	d   k(  sJ ‚t        d«      }
t        ||
«      t        |g|
gg«      k(  sJ ‚t        |«      t        ||
«      z  t        |
|z  |z   g|
gg«      k(  sJ ‚t        t        |f|
ff«      «      t        |g|
gg«      k(  sJ ‚t        |«      t        ||
«      z  j                  |
|z  |z   k(  sJ ‚t        |«      t        ||
«      z  j                  |
k(  sJ ‚t!        ddd¬«      }t#        |j$                  ddt&        z  t(        z  z   «      sJ ‚t#        t+        |j$                  «      ddt&        z  z   «      sJ ‚t#        t+        |j,                  «      t/        d«      «      sJ ‚t#        t+        |j0                  «      t/        d«      «      sJ ‚t        d«      }||z  }t#        t+        |j2                  «      t/        d«      «      sJ ‚t#        t+        |j2                  «      t/        d«      «      sJ ‚t        d«      \  }}t5        ||«      t(        |dz  z  |z  k(  sJ ‚t        d«      \  }}t7        ||«      t9        ||z  «      t9        t(        «      z  k(  sJ ‚t        d«      \  }}}t;        ||«      ||z  ||z   z  k(  sJ ‚t=        ||«      ||z  ||z
  z  k(  sJ ‚t?        ||«      ||z  ||z
  z  k(  sJ ‚t;        t@        |«      |k(  sJ ‚t;        |t@        «      |k(  sJ ‚t        d«      \  }}}tC        |||«      d   dd||dz  | |z   z  z   z  d|z  z   z  k(  sJ ‚tC        |||«      d   |d|dz  |dz  z  z
  |dz  |dz  z  z   z  k(  sJ ‚tC        |||«      d   dt9        d|dz  |dz  z  z
  |dz  |dz  z  z   «      z  k(  sJ ‚t        d«      \  }}}}tE        ||||¬«      d   |t9        |dz  |dz  z  t(        dz  |dz  z  |dz  |dz  z  z  z
  «       dz   z  k(  sJ ‚tG        tE        ||||¬«      d   «      ||dz  z  |dz  |dz  z  t9        |dz  |dz  z  t(        dz  |dz  z  |dz  |dz  z  z  z
  «      z
  z  |dz  z  k(  sJ ‚tE        ||||¬«      d   |k(  sJ ‚t        dd¬ «      \  }}}t!        |||¬«      }|jH                  |t(        dz  |dz  z  |dz  |dz  z  z  dz   z  k(  sJ ‚|j2                  |t9        |dz  |dz  z  t(        dz  |dz  z  z  dz   «      z  k(  sJ ‚|j,                  |k(  sJ ‚|jJ                  |t(        |z  z  k(  sJ ‚|jL                  tO        |t(        |dz  z  |z  «      k(  sJ ‚|jP                  d|z  t(        z  k(  sJ ‚t!        dddd¬!«      }t#        |j$                  dd"t&        z  t(        z  z   «      sJ ‚t#        t+        |j0                  «      t/        d#«      «      sJ ‚t#        t+        |j,                  «      t/        d«      «      sJ ‚y )$Né   é   é   é   )r%   r&   r'   r(   zd f h n1 n2 Rr   éÿÿÿÿéþÿÿÿ)r   r   )r   r%   )r%   r   )r%   r%   Úangleg 4PSªÈ¡>gü©ñÒMbP?)Úwg´ìsHM0þ?g      ð?gÒ”ªJËµ@é
   g“µ’’�P?g(1E£ÜDa?z	w wavelenzz_r wavelenza b fzs_in z_r_in fzl w_i w_o f)Úfzz l w_0T)Úpositive)r,   Úng´ìsHM0@gÝ”ªJËµ'@))r   r   ÚAÚBÚCÚDr   r   r   r   r   r   r   r   Úheightr+   r   r"   Úqr   r   r   Úw_0r   Úz_rr,   r   r   r	   r   r   r   r   r   r   r   ÚradiusÚ
divergenceÚgouyr
   Úwaist_approximation_limit)ÚmatÚdr.   ÚhÚn1Ún2ÚRÚlensÚmulÚmul_matr+   ÚpÚfsÚp1r,   Úwavelenr8   r   r    Ús_inÚz_r_inÚlÚw_iÚw_oÚzr7   s                             r!   Útest_gauss_optrP      sö  € Ü
˜A˜q ! QÓ
'€CØ”&˜1˜a˜& 1 a &Ð)Ó*Ò*Ð*Ð*ØÔ#¤V¨a°¨V°a¸°VÐ,<Ó%=Ó?Ò?Ð?Ð?Ø�E‰E�3—5‘5˜#Ÿ%™% §¡Ð'ª<Ò7Ð7Ð7ä  Ó1Ñ€A€qˆ!ˆR��QÜ�A‹;€DØ”6˜q !˜9 r¨!¡t¨Q iÐ0Ó1Ò1Ð1Ð1Ø�6‰6�R˜‘TŠ>Ðˆ>Ü�Q‹<œ6 Q¨ 7¨Q°¨FÐ"3Ó4Ò4Ð4Ð4Ü˜"˜bÓ!¤V¨a°¨V°a¸¸B¹°ZÐ,@Ó%AÒAÐAÐAÜØ	ˆ2ˆróÜ˜q !˜f¨¨R©°!°B±$Ñ'7¸¸B¹Ð&?Ð@ÓAòBð Bð Bä‹<œ6 A q 6¨A¨q¨6Ð"2Ó3Ò3Ð3Ð3Ü˜‹?œf¨!¨Q i°"°Q±$¸°Ð%;Ó<Ò<Ð<Ð<Ü�A‹;œ& a¨ )¨b°©d°A¨YÐ!7Ó8Ò8Ð8Ð8ä
�q‹/œ) A›,Ñ
&€CÜ˜!˜Q�i " Q¡$¨ Ð+Ó,¬V°q¸!°W¸qÀ!¸fÐ4EÓ-FÑF€GØ�5‰5�G˜D‘MÒ!Ð!Ð!Ø�5‰5�G˜D‘MÒ!Ð!Ð!Ø�5‰5�G˜D‘MÒ!Ð!Ð!Ø�5‰5�G˜D‘MÒ!Ð!Ð!ä�GÓ€EÜ˜˜5Ó!¤V°!¨W°u°gÐ,>Ó%?Ò?Ð?Ð?ÜØ	óÜ˜˜5Ó!ñ"Ü%+¨e°A©g¸©k¨]¸U¸GÐ,DÓ%EòFð Fð Fäœ 1 $¨¨Ð!1Ó3Ó5¼À!ÀÀuÀgÀÓ9OÒOÐOÐOÜ�a‹Lœ a¨Ó/Ñ/×7Ñ7¸5À¹7ÀQ¹;ÒFÐFÐFÜ�a‹Lœ a¨Ó/Ñ/×6Ñ6¸%Ò?Ð?Ð?ä�f˜a 4Ô(€AÜ�—‘�aÐ*¬1Ñ,¬RÑ/Ñ/Ô0Ð0Ð0Ü”�1—3‘3“˜Ð/´Ñ1Ñ1Ô2Ð2Ð2Ü”�1—5‘5“œ5Ð!4Ó5Ô6Ð6Ð6Ü”�1—5‘5“œ5Ð!1Ó2Ô3Ð3Ð3Ü	�2‹€BØ	ˆA‰€BÜ”�1—3‘3“œÐ2Ó3Ô4Ð4Ð4Ü”�2—4‘4“œ%Ð 3Ó4Ô5Ð5Ð5ä˜Ó%�J€A€wÜ˜!˜WÓ%¬¨A¨q©D©°©Ò8Ð8Ð8Ü˜=Ó)�L€CˆÜ˜#˜wÓ'¬4°¸±Ó+<¼TÄ"»XÑ+EÒEÐEÐEä�gÓ�G€A€qˆ!Ü˜Q Ó" a¨¡c¨1¨q©5¡kÒ1Ð1Ð1Ü˜Q Ó" a¨¡c¨1¨q©5¡kÒ1Ð1Ð1Ü˜Q Ó" a¨¡c¨1¨q©5¡kÒ1Ð1Ð1ÜœR Ó# qÒ(Ð(Ð(Ü˜Q¤Ó# qÒ(Ð(Ð(ä˜oÓ.�O€Dˆ&�!ÜØˆf�aóØñØ  " d¨V°Q©Y¸¸¸T¹	Ñ-BÑ&BÑ"CÀaÈÁcÑ"IÑJòKð Kð KäØˆf�aóØñØ% q¨4°©7°1°a±4©<Ñ'7¸&À!¹)ÀAÀqÁD¹.Ñ'HÑIòJð Jð JäØˆf�aóØñØ ¤ a¨$°©'°!°Q±$©,Ñ&6¸À¹À1ÀaÁ4¹Ñ&GÓ!HÑHòIð Ið Iô ˜]Ó+�N€A€sˆC�Ü   C¨°Ô2°1Ñ5¸Ü	ˆc�1‰f�S˜!‘V‰mœb !™e C¨¡F™l¨A¨q©D°°A±©IÑ6Ñ6Ó	7Ð7¸!Ñ;ñ:=ò =ð =ð =äÔ'¨¨3°°qÔ9¸!Ñ<Ó=ÀÀ3ÈÁ6ÁØˆQ‰ˆs�A‰v‰œ˜S !™V C¨¡F™]¬R°©U°3¸±6©\¸1¸a¹4ÀÀ1Á¹9Ñ-EÑEÓFÑFñBHØHKÈQÉñBOò Oð Oð Oä   C¨°Ô2°1Ñ5¸Ò:Ð:Ð:ä˜	¨DÔ1�I€A€qˆ#Ü�a˜˜cÔ"€AØ�8‰8�qœ"˜a™%  Q¡™,¨¨1©¨Q°©T©	Ñ2°QÑ6Ñ7Ò7Ð7Ð7Ø�3‰3�#”d˜1˜a™4  1¡™9¤b¨!¡e¨C°©F¡lÑ3°aÑ7Ó8Ñ8Ò8Ð8Ð8Ø�5‰5�CŠ<Ðˆ<Ø�<‰<˜1œb ™f™:Ò%Ð%Ð%Ø�6‰6”U˜1œb  a¡™i¨™kÓ*Ò*Ð*Ð*Ø×&Ñ&¨!¨A©#¬b©&Ò0Ð0Ð0ä�f˜a 4¨1Ô-€AÜ�—‘�aÐ*¬1Ñ,¬RÑ/Ñ/Ô0Ð0Ð0Ü”�1—5‘5“œ5Ð!1Ó2Ô3Ð3Ð3Ü”�1—5‘5“œ5Ð!4Ó5Ô6Ð6Ñ6r#   N)$Úsympy.core.evalfr   Úsympy.core.numbersr   r   r   r   Úsympy.core.symbolr   Ú(sympy.functions.elementary.miscellaneousr	   Ú(sympy.functions.elementary.trigonometricr
   Úsympy.matrices.denser   Úsympy.polys.polytoolsr   Úsympy.physics.opticsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r"   rP   © r#   r!   ú<module>rZ      sA   ðÝ ß 1Ó 1Ý %Ý 9Ý :Ý 'Ý (÷"÷ "÷ "÷ "ó "òóR7r#   