Ë
    óÿæi{  ã                   óÖ   — 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mZ d dlmZ d dlmZ d d	lmZmZmZmZ d d
lmZ  ed«      \  ZZZdd„Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#y)é    )ÚIÚRationalÚooÚpi)ÚS)Úsymbols)Úexp)Úsqrt)ÚcosÚsin)Ú	integrate)Úsimplify)ÚR_nlÚE_nlÚ
E_nl_diracÚPsi_nlm)Úraiseszn r Zc                 óØ   — t        | «      } t        |«      }t        | |z
  «      |k  ryt        |«      t        | «      kD  rt        | |z
  |z  «      }||k  S t        | |z
  | z  «      }||k  S )NT)ÚfloatÚabs)ÚaÚbÚmax_relative_errorÚmax_absolute_errorÚrelative_errors        úv/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/sympy/physics/tests/test_hydrogen.pyÚfeqr      su   € Üˆa‹€AÜˆa‹€Aä
ˆ1ˆq‰5ƒzÐ&Ò&Øä
ˆ1ƒv”�A“‚Ü˜a !™e Q™Y›ˆð Ð/Ñ/Ð/ô ˜a !™e Q™Y›ˆØÐ/Ñ/Ð/ó    c                  óÂ  — dt         z  } dt        d| dz  z  «      z  t        t         | z  «      z  t        dd| dz  z  z  «      t        t         d| z  z  «      z  dt        d| z  z  z
  z  t        j
                  t        dd| dz  z  z  «      z  t        t         d| z  z  «      z  t        z  | z  t        dd«      t        dd| dz  z  z  «      z  t        t         d| z  z  «      z  ddt        z  d| z  z  z
  t        dd«      t        | z  dz  z  z   z  t        dd«      t        dd| dz  z  z  «      z  t        t         d| z  z  «      z  dt        d| z  z  z
  z  t        z  | z  t        dd«      t        dd| dz  z  z  «      z  t        t         d| z  z  «      z  t        | z  dz  z  t        dd«      t        d| dz  z  «      z  t        t         d| z  z  «      z  ddt        z  d| z  z  z
  t        dd	«      t        | z  dz  z  z   t        dd
«      t        | z  dz  z  z
  z  t        dd«      t        dd| dz  z  z  «      z  t        t         d| z  z  «      z  dt        d| z  z  z
  t        dd«      t        | z  dz  z  z   z  t        | z  z  t        dd«      t        dd| dz  z  z  «      z  t        t         d| z  z  «      z  dt        d| z  z  z
  z  t        | z  dz  z  t        dd«      t        dd| dz  z  z  «      z  t        t         d| z  z  «      z  t        | z  dz  z  dœ
}|D ]1  \  }}t        t        ||t        t         «      |||f   z
  «      dk(  rŒ1J ‚ y )Né   é   é   é   é   é   éQ   é   é   éÀ   é   é   éP   é@   é   i   é#   )
)r    r   )r!   r   )r!   r    )r"   r   )r"   r    )r"   r!   )r%   r   )r%   r    )r%   r!   )r%   r"   r   )	ÚZr
   r	   Úrr   ÚHalfr   r   r   )r   ÚRÚnÚls       r   Útest_wavefunctionr6      sO  € Ø	Œ!‰€Aà”$�q˜˜A™‘v“,‘¤¤a R¨¡T£Ñ*Ü�Q˜˜!˜Q™$™‘ZÓ ¤3¬ r¨1¨Q©3¡x£=Ñ0°A¼¸1¸Q¹3¹±KÑ@Ü—‘œ˜a  1 a¡4¡™jÓ)Ñ)¬C´°°A°a±C±«MÑ9¼AÑ=¸aÑ?Ü˜˜A“¤ a¨¨1¨a©4©¡jÓ!1Ñ1´C¼¸¸A¸a¹C¹³MÑAØ	
ˆQŒq‰S�!�A‘#‰Y‰œ ! R›¬A¨a©C°!©8Ñ3Ñ	3ñ5ä˜˜B“¤$ q¨!¨A¨q©D©&¡zÓ"2Ñ2´S¼!¸¸Q¸q¹S¹³]ÑBØ	
ŒQ��!‘‰W‰ñÜñØñä˜˜B“¤$ q¨"¨Q°©T©'¡{Ó"3Ñ3´c¼1¸"¸aÀ¹c¹(³mÑCÄqÈÁsÈQÁhÑNÜ˜˜A“¤ a¨¨1©¡f£Ñ-´´Q°B¸¸!¹±H³Ñ=Ø	
ˆQŒq‰S�!�A‘#‰Y‰œ ! Q›¬1¨Q©3°©(Ñ2Ñ	2´X¸aÀÓ5EÌÈ1ÉÈqÉÑ5PÑ	PñRä˜˜B“¤$ q¨!¨A¨q©D©&¡zÓ"2Ñ2´S¼!¸¸Q¸q¹S¹³]ÑBØ	
ŒQ��!‘‰W‰”x  2“¬!¨A©#°©Ñ1Ñ	1ñ3Ü67¸±cñ;ä˜˜B“¤$ q¨!¨A¨q©D©&¡zÓ"2Ñ2´S¼!¸¸Q¸q¹S¹³]ÑBØ	
ŒQ��1‘‰X‰ñÜ˜A™# ™ñ"ä˜˜CÓ ¤4¨¨2¨a°©d©7©Ó#4Ñ4´s¼A¸2¸qÀ¹s¹8³}ÑDÌÈ!ÉÈaÁxÑOñ	€Aó" ‰ˆˆ1Üœ˜Q ¤1¤aÓ(¨1¨a°¨V©9Ñ4Ó5¸Ó:Ð:Ð:ñ r   c            	      ó¾   — d} t        | dz   «      D ]J  }t        |«      D ]:  }t        t        ||t        «      dz  t        dz  z  t        dt        f«      dk(  rŒ:J ‚ ŒL y )Nr!   r    r   )Úranger   r   r1   r   )Ún_maxr4   r5   s      r   Ú	test_normr:   4   sY   € à€EÜ�5˜1‘9ÖˆÜ�q–ˆAÜœT ! Q¬›]¨AÑ-´°1±Ñ4´q¸!¼R°jÓAÀQÓFÐFÐFñ ñ r   c            	      óž  — t        d«      } t        d«      }t        d«      }t        ddd| ||«      t        |  «      t        t        «      z  k(  sJ ‚t        ddd| ||«      t         j
                  t        |  dz  «      z  | z  t        |«      t        t         |z  «      z  dt        t        «      z  z  z  k(  sJ ‚t        d	dd| ||d«      t        d«       t        |«      z  t        t        |z  «      z  t        |«      z  dt        t        «      z  z  t        d«      z  d
z  t        d«      z  t        d| z  d	z  «      z  | dz  dz  z  k(  sJ ‚y )Nr1   ÚphiÚthetar    r   r!   éÿÿÿÿr%   r"   r&   r*   éþÿÿÿ)	r   r   r	   r
   r   r2   r   r   r   )r1   r<   r=   s      r   Útest_psi_nlmr@   ;   sS  € Üˆƒf€AÜ	ˆ%‹€CÜ
ˆG‹*€EÜ�A�q˜!˜Q  UÓ+¬s°A°2«w¼¼b»Ñ/AÒAÐBÐAÜ�A�q˜"˜a  eÓ,´·±¼#¸q¸bÀA¹h»-Ñ1GÈ!Ñ1KÜˆu‹:œœQ˜B ™H›Ñ%¨¬T´"«X©Ñ6ñ28ò 8ð 8ð 8ä�A�q˜!˜Q  U¨AÓ.´4¸³7°(¼SÀ»ZÑ2GÜŒq�3‰w‹<ñ3Ü˜e›*ñ3%Ø()¬D´«H©ñ36Ü89¸!»ñ3=Ø?Añ3Bä
ˆzÓ
ñ3ä   a¡¨1¡Ó.ñ3/à23°a±%¸A±ñ3>ò >ð ?ñ >r   c                  óœ  — t        t        t        «      t        dz   dt        dz  z  z  k(  sJ ‚t        t        «      ddt        dz  z  z  k(  sJ ‚t        dd«      t        d«      dz   dz  k(  sJ ‚t        dd«      t        d«      dz   dz  k(  sJ ‚t        d«      t        j                   dz  k(  sJ ‚t        d«      t        j                   dz  k(  sJ ‚t        d«      t        j                   dz  k(  sJ ‚t        d«      t        j                   d	z  k(  sJ ‚t        d
«      t        j                   dz  k(  sJ ‚t        t        d„ «       y )Nr!   r>   r    é/   r(   r"   é   r%   é    éd   i N  c                  ó   — t        d«      S ©Nr   )r   © r   r   Ú<lambda>z(test_hydrogen_energies.<locals>.<lambda>S   s   € œt Aœwr   )r   r4   r0   r   ÚOner   Ú
ValueErrorrH   r   r   Útest_hydrogen_energiesrL   F   s#  € Ü””1‹:œ!˜Q™$˜ ¤! Q¡$¡™Ò'Ð'Ð'Ü”‹7�b˜!œA˜q™D™&‘kÒ!Ð!Ð!ä��2‹;œ1˜R›5 !™8˜) VÑ,Ò,Ð,Ð,Ü��2‹;œ1˜R›5 !™8˜) VÑ,Ò,Ð,Ð,ä�‹7”q—u‘u�f˜f‘oÒ%Ð%Ð%Ü�‹7”q—u‘u�f˜f‘oÒ%Ð%Ð%Ü�‹7”q—u‘u�f˜f‘oÒ%Ð%Ð%Ü�‹7”q—u‘u�f˜f‘oÒ%Ð%Ð%Ü�‹9œŸ™˜ Ñ)Ò)Ð)Ð)ä
Œ:‘Õ'r   c                  óÈ  — t        dddd¬«      dt        d«      z  dz
  k(  sJ ‚t        t        dddd¬«      dt        d«      z  dz   t        dt        d«      z  dz   «      z  d	z
  z
  «      dk(  sJ ‚t        t        dddd¬«      d
t        d«      z  dz   t        dt        d«      z  dz   «      z  dz
  z
  «      dk(  sJ ‚t        t        dddd¬«      ddt        d«      z  z   t        ddt        d«      z  z   «      z  dz
  z
  «      dk(  sJ ‚t        t        dddd¬«      ddt        d«      z  z   t        ddt        d«      z  z   «      z  dz
  z
  «      dk(  sJ ‚t        dd«      D ]_  } t        | «      D ]O  }t	        t        | |«      t        | «      dd«      sJ ‚|dkD  sŒ,t	        t        | |d«      t        | «      dd«      rŒOJ ‚ Œa d}t        dd«      D ]d  } t        | «      D ]T  }t	        t        | ||¬«      t        | |«      dd«      sJ ‚|dkD  sŒ/t	        t        | |d|«      t        | |«      dd«      rŒTJ ‚ Œf d}t        dd«      D ]d  } t        | «      D ]T  }t	        t        | ||¬«      t        | |«      dd«      sJ ‚|dkD  sŒ/t	        t        | |d|«      t        | |«      dd«      rŒTJ ‚ Œf t        t        d „ «       t        t        d!„ «       t        t        d"„ «       y )#Nr!   r   r    )r0   Úcr(   r"   r*   rD   r%   é6   r&   él   é¢   é	   é‰   i¡Kÿidñœ i•  iB—þ)iÈâ9iQI  éR   iY<' i/  i²xN r+   gñhãˆµøä>F)r0   g-Cëâ6?gü©ñÒMbP?c                  ó   — t        dd«      S rG   ©r   rH   r   r   rI   z.test_hydrogen_energies_relat.<locals>.<lambda>|   s   € œz¨!¨QÔ/r   c                  ó   — t        dd«      S )Nr    r>   rV   rH   r   r   rI   z.test_hydrogen_energies_relat.<locals>.<lambda>}   s   € œz¨!¨RÔ0r   c                  ó   — t        ddd«      S )Nr    r   FrV   rH   r   r   rI   z.test_hydrogen_energies_relat.<locals>.<lambda>~   s   € œz¨!¨Q°Ô6r   )r   r
   r   r8   r   r   r   rK   )r4   r5   r0   s      r   Útest_hydrogen_energies_relatrY   V   s(  € ä�a˜˜a 1Ô%¨¬4°«7©°Q©Ò6Ð6Ð6Ü”J˜q ! q¨AÔ.°A´d¸1³g±IÀ±NÜ�rœ$˜q›'‘z B‘Ó'ñ4(Ø*+ñ4,ñ -ó .Ø12ò3ð 3ð 3ä”J˜q ! q¨AÔ.°B´t¸A³w±JÀ±OÜ�sœ4 ›7‘{ SÑ(Ó)ñ4*Ø,-ñ4.ñ /ó 0Ø34ò5ð 5ð 5ô
 ”J˜q ! q¨CÔ0°iÀ(ÜˆT‹
ñCñ 7Ü˜9 x´$°t³*Ñ'<Ñ<Ó=ñ6>Ø@Eñ6Fñ Gó HØKLòMð Mð Mä”J˜q ! r¨SÔ1°yÀ7ÜˆU‹ñDñ 8Ü˜I¨´°U³Ñ(;Ñ;Ó<ñ7=Ø?Dñ7Eñ Fó GØJKòLð Lð Lô
 �1�aŽ[ˆÜ�q–ˆAÜ”z ! QÓ'¬¨a«°$¸Ô=Ð=Ð=Ø�1‹uÜœ: a¨¨EÓ2´D¸³G¸TÀ4ÕHÐHÐHñ ð ð 	
€AÜ�1�aŽ[ˆÜ�q–ˆAÜ”z ! Q¨!Ô,¬d°1°a«j¸$ÀÔEÐEÐEØ�1‹uÜœ: a¨¨E°1Ó5´t¸A¸q³zÀ4ÈÕNÐNÐNñ ð ð 	
€AÜ�1�aŽ[ˆÜ�q–ˆAÜ”z ! Q¨!Ô,¬d°1°a«j¸$ÀÔEÐEÐEØ�1‹uÜœ: a¨¨E°1Ó5´t¸A¸q³zÀ4ÈÕNÐNÐNñ ð ô Œ:Ñ/Ô0Ü
Œ:Ñ0Ô1Ü
Œ:Ñ6Õ7r   N)çê-�™—q=rZ   )$Úsympy.core.numbersr   r   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr   Ú&sympy.functions.elementary.exponentialr	   Ú(sympy.functions.elementary.miscellaneousr
   Ú(sympy.functions.elementary.trigonometricr   r   Úsympy.integrals.integralsr   Úsympy.simplify.simplifyr   Úsympy.physics.hydrogenr   r   r   r   Úsympy.testing.pytestr   r4   r1   r0   r   r6   r:   r@   rL   rY   rH   r   r   Ú<module>re      sX   ðß 4Ó 4Ý "Ý %Ý 6Ý 9ß ?Ý /Ý ,ß BÓ BÝ 'á
�'Ó
�€€1€aó0ò;ò.Gò	?ò(ó (8r   