§
    OŠtj~  ã                   óº   — 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#dS )é    )Ú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                 óB   — t          | ¦  «        t          |¦  «        k    S )N)Ústr)ÚaÚbs     úf/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/physics/optics/tests/test_gaussopt.pyÚstreqr"      s   € Ýˆq‰6Œ6•S˜‘V”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+          |j        ¦  «        t/          d¦  «        ¦  «        sJ ‚t          d¦  «        }||z  }t#          t+          |j        ¦  «        t/          d¦  «        ¦  «        sJ ‚t#          t+          |j        ¦  «        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!          |||¬¦  «        }|j$        |t(          dz  |dz  z  |dz  |dz  z  z  dz   z  k    sJ ‚|j        |t9          |dz  |dz  z  t(          dz  |dz  z  z  dz   ¦  «        z  k    sJ ‚|j        |k    sJ ‚|j%        |t(          |z  z  k    sJ ‚|j&        tO          |t(          |dz  z  |z  ¦  «        k    sJ ‚|j(        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+          |j        ¦  «        t/          d#¦  «        ¦  «        sJ ‚t#          t+          |j        ¦  «        t/          d¦  «        ¦  «        sJ ‚d S )$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�3”5˜#œ% ¤Ð'¨<¨<¨<Ò7Ð7Ð7Ð7å  Ñ1Ô1Ñ€A€qˆ!ˆR��QÝ�A‰;Œ;€DØ•6˜q !˜9 r¨!¡t¨Q iÐ0Ñ1Ô1Ò1Ð1Ð1Ð1ØŒ6�R˜‘TŠ>ˆ>ˆ>ˆ>Ý�Q‰<Œ<�6 Q¨ 7¨Q°¨FÐ"3Ñ4Ô4Ò4Ð4Ð4Ð4Ý˜"˜bÑ!Ô!¥V¨a°¨V°a¸¸B¹°ZÐ,@Ñ%AÔ%AÒAÐAÐAÐAÝØ	ˆ2ˆrñô Ý˜q !˜f¨¨R©°!°B±$Ñ'7¸¸B¹Ð&?Ð@ÑAÔAòBð Bð Bð Bå‰<Œ<�6 A q 6¨A¨q¨6Ð"2Ñ3Ô3Ò3Ð3Ð3Ð3Ý˜‰?Œ?�f¨!¨Q i°"°Q±$¸°Ð%;Ñ<Ô<Ò<Ð<Ð<Ð<Ý�A‰;Œ;�& a¨ )¨b°©d°A¨YÐ!7Ñ8Ô8Ò8Ð8Ð8Ð8å
�q‰/Œ/�) A™,œ,Ñ
&€CÝ˜!˜Q�i " Q¡$¨ Ð+Ñ,Ô,­V°q¸!°W¸qÀ!¸fÐ4EÑ-FÔ-FÑF€GØŒ5�G˜D”MÒ!Ð!Ð!Ð!ØŒ5�G˜D”MÒ!Ð!Ð!Ð!ØŒ5�G˜D”MÒ!Ð!Ð!Ð!ØŒ5�G˜D”MÒ!Ð!Ð!Ð!å�GÑÔ€EÝ˜˜5Ñ!Ô!¥V°!¨W°u°gÐ,>Ñ%?Ô%?Ò?Ð?Ð?Ð?ÝØ	ñô Ý˜˜5Ñ!Ô!ñ"Ý%+¨e°A©g¸©k¨]¸U¸GÐ,DÑ%EÔ%EòFð Fð Fð Få� 1 $¨¨Ð!1Ñ3Ô3Ñ5Ô5½À!ÀÀuÀgÀÑ9OÔ9OÒOÐOÐOÐOÝ�a‰LŒL� a¨Ñ/Ô/Ñ/Ô7¸5À¹7ÀQ¹;ÒFÐFÐFÐFÝ�a‰LŒL� a¨Ñ/Ô/Ñ/Ô6¸%Ò?Ð?Ð?Ð?å�f˜a 4Ð(Ñ(Ô(€AÝ�”�aÐ*­1Ñ,­RÑ/Ñ/Ñ0Ô0Ð0Ð0Ð0Ý•�1”3‘”˜Ð/µÑ1Ñ1Ñ2Ô2Ð2Ð2Ð2Ý•�1”5‘”�5Ð!4Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6Ý•�1”5‘”�5Ð!1Ñ2Ô2Ñ3Ô3Ð3Ð3Ð3Ý	�2‰Œ€BØ	ˆA‰€BÝ•�1”3‘”�Ð2Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4Ý•�2”4‘”�%Ð 3Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5å˜Ñ%Ô%�J€A€wÝ˜!˜WÑ%Ô%­¨A¨q©D©°©Ò8Ð8Ð8Ð8Ý˜=Ñ)Ô)�L€CˆÝ˜#˜wÑ'Ô'­4°¸±Ñ+<Ô+<½TÅ"¹X¼XÑ+EÒEÐEÐEÐEå�gÑÔ�G€A€qˆ!Ý˜Q Ñ"Ô" a¨¡c¨1¨q©5¡kÒ1Ð1Ð1Ð1Ý˜Q Ñ"Ô" a¨¡c¨1¨q©5¡kÒ1Ð1Ð1Ð1Ý˜Q Ñ"Ô" a¨¡c¨1¨q©5¡kÒ1Ð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ð KåØˆf�añô ØôØ% q¨4°©7°1°a±4©<Ñ'7¸&À!¹)ÀAÀqÁD¹.Ñ'HÑIòJð Jð Jð JåØˆf�añô ØôØ ¥ a¨$°©'°!°Q±$©,Ñ&6¸À¹À1ÀaÁ4¹Ñ&GÑ!HÔ!HÑHòIð Ið Ið Iõ ˜]Ñ+Ô+�N€A€sˆC�Ý   C¨°Ð2Ñ2Ô2°1Ô5¸Ý	ˆc�1‰f�S˜!‘V‰m�b !™e C¨¡F™l¨A¨q©D°°A±©IÑ6Ñ6Ñ	7Ô	7Ð7¸!Ñ;ñ:=ò =ð =ð =ð =åÕ'¨¨3°°qÐ9Ñ9Ô9¸!Ô<Ñ=Ô=ÀÀ3ÈÁ6ÁØˆQ‰ˆs�A‰v‰�˜S !™V C¨¡F™]­R°©U°3¸±6©\¸1¸a¹4ÀÀ1Á¹9Ñ-EÑEÑFÔFÑFñBHØHKÈQÉñBOò Oð Oð Oð Oå   C¨°Ð2Ñ2Ô2°1Ô5¸Ò:Ð:Ð:Ð:å˜	¨DÐ1Ñ1Ô1�I€A€qˆ#Ý�a˜˜cÐ"Ñ"Ô"€AØŒ8�q�"˜a™%  Q¡™,¨¨1©¨Q°©T©	Ñ2°QÑ6Ñ7Ò7Ð7Ð7Ð7ØŒ3�#•d˜1˜a™4  1¡™9¥b¨!¡e¨C°©F¡lÑ3°aÑ7Ñ8Ô8Ñ8Ò8Ð8Ð8Ð8ØŒ5�CŠ<ˆ<ˆ<ˆ<ØŒ<˜1�b ™f™:Ò%Ð%Ð%Ð%ØŒ6•U˜1�b  a¡™i¨™kÑ*Ô*Ò*Ð*Ð*Ð*ØÔ&¨!¨A©#­b©&Ò0Ð0Ð0Ð0å�f˜a 4¨1Ð-Ñ-Ô-€AÝ�”�aÐ*­1Ñ,­RÑ/Ñ/Ñ0Ô0Ð0Ð0Ð0Ý•�1”5‘”�5Ð!1Ñ2Ô2Ñ3Ô3Ð3Ð3Ð3Ý•�1”5‘”�5Ð!4Ñ5Ô5Ñ6Ô6Ð6Ð6Ð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      sv  ðØ Ð Ð Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø %Ð %Ð %Ð %Ð %Ð %Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø :Ð :Ð :Ð :Ð :Ð :Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø (Ð (Ð (Ð (Ð (Ð (ð"ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ðð ð ðR7ð R7ð R7ð R7ð R7r#   