+
    ‹°³jª  ã                   ó”   € ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt RR ltRR	 ltRR
 ltR^]! R4      3R ltR# )é    )ÚFloat)ÚS)Ú	factorial)Úexp)Úsqrt)Úassoc_laguerre)ÚYnmc                óê  € \        \        WW#.4      w  rr#W,
          ^,
          p^V,          p^V,          W,          ,          p\        \        ^4      W,          ,          ^,          \        V4      ,          ^V ,          \        W,           4      ,          ,          4      pWvV,          ,          \	        V^V,          ^,           V4      P                  4       ,          \        V) ^,          4      ,          # )a  
Returns the Hydrogen radial wavefunction R_{nl}.

Parameters
==========

n : integer
    Principal Quantum Number which is
    an integer with possible values as 1, 2, 3, 4,...
l : integer
    ``l`` is the Angular Momentum Quantum Number with
    values ranging from 0 to ``n-1``.
r :
    Radial coordinate.
Z :
    Atomic number (1 for Hydrogen, 2 for Helium, ...)

Everything is in Hartree atomic units.

Examples
========

>>> from sympy.physics.hydrogen import R_nl
>>> from sympy.abc import r, Z
>>> R_nl(1, 0, r, Z)
2*sqrt(Z**3)*exp(-Z*r)
>>> R_nl(2, 0, r, Z)
sqrt(2)*(-Z*r + 2)*sqrt(Z**3)*exp(-Z*r/2)/4
>>> R_nl(2, 1, r, Z)
sqrt(6)*Z*r*sqrt(Z**3)*exp(-Z*r/2)/12

For Hydrogen atom, you can just use the default value of Z=1:

>>> R_nl(1, 0, r)
2*exp(-r)
>>> R_nl(2, 0, r)
sqrt(2)*(2 - r)*exp(-r/2)/4
>>> R_nl(3, 0, r)
2*sqrt(3)*(2*r**2/9 - 2*r + 3)*exp(-r/3)/27

For Silver atom, you would use Z=47:

>>> R_nl(1, 0, r, Z=47)
94*sqrt(47)*exp(-47*r)
>>> R_nl(2, 0, r, Z=47)
47*sqrt(94)*(2 - 47*r)*exp(-47*r/2)/4
>>> R_nl(3, 0, r, Z=47)
94*sqrt(141)*(4418*r**2/9 - 94*r + 3)*exp(-47*r/3)/27

The normalization of the radial wavefunction is:

>>> from sympy import integrate, oo
>>> integrate(R_nl(1, 0, r)**2 * r**2, (r, 0, oo))
1
>>> integrate(R_nl(2, 0, r)**2 * r**2, (r, 0, oo))
1
>>> integrate(R_nl(2, 1, r)**2 * r**2, (r, 0, oo))
1

It holds for any atomic number:

>>> integrate(R_nl(1, 0, r, Z=2)**2 * r**2, (r, 0, oo))
1
>>> integrate(R_nl(2, 0, r, Z=3)**2 * r**2, (r, 0, oo))
1
>>> integrate(R_nl(2, 1, r, Z=4)**2 * r**2, (r, 0, oo))
1

)Úmapr   r   r   r   Úexpandr   )ÚnÚlÚrÚZÚn_rÚaÚr0ÚCs   &&&&    ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/physics/hydrogen.pyÚR_nlr   
   s®   € ôN ”Q˜˜q˜Ó%�J€Aˆ!à
�%�!�)€Cà	ˆ!�€AØ	
ˆQ��!•%�€BäŒa�‹d�A•C�j˜1�_œy¨›~Õ-°°1µ´Y¸q½uÓ5EÕ1EÕFÓG€Að �1�u�9”~ c¨1¨Q­3°­7°BÓ7×>Ñ>Ó@Õ@Ä3ÈÀsÈ1ÅuÃ:ÕMÐMó    c           
     óv  € \        \        WW#WEV.4      w  rr#rEpV P                  '       d   V ^8  d   \        R4      hVP                  '       d   W8”  g   \        R4      hVP                  '       d   \	        V4      V8:  g   \        R4      h\        WW64      \        WWT4      P                  RR7      ,          # )aœ  
Returns the Hydrogen wave function psi_{nlm}. It's the product of
the radial wavefunction R_{nl} and the spherical harmonic Y_{l}^{m}.

Parameters
==========

n : integer
    Principal Quantum Number which is
    an integer with possible values as 1, 2, 3, 4,...
l : integer
    ``l`` is the Angular Momentum Quantum Number with
    values ranging from 0 to ``n-1``.
m : integer
    ``m`` is the Magnetic Quantum Number with values
    ranging from ``-l`` to ``l``.
r :
    radial coordinate
phi :
    azimuthal angle
theta :
    polar angle
Z :
    atomic number (1 for Hydrogen, 2 for Helium, ...)

Everything is in Hartree atomic units.

Examples
========

>>> from sympy.physics.hydrogen import Psi_nlm
>>> from sympy import Symbol
>>> r=Symbol("r", positive=True)
>>> phi=Symbol("phi", real=True)
>>> theta=Symbol("theta", real=True)
>>> Z=Symbol("Z", positive=True, integer=True, nonzero=True)
>>> Psi_nlm(1,0,0,r,phi,theta,Z)
Z**(3/2)*exp(-Z*r)/sqrt(pi)
>>> Psi_nlm(2,1,1,r,phi,theta,Z)
-Z**(5/2)*r*exp(I*phi)*exp(-Z*r/2)*sin(theta)/(8*sqrt(pi))

Integrating the absolute square of a hydrogen wavefunction psi_{nlm}
over the whole space leads 1.

The normalization of the hydrogen wavefunctions Psi_nlm is:

>>> from sympy import integrate, conjugate, pi, oo, sin
>>> wf=Psi_nlm(2,1,1,r,phi,theta,Z)
>>> abs_sqrd=wf*conjugate(wf)
>>> jacobi=r**2*sin(theta)
>>> integrate(abs_sqrd*jacobi, (r,0,oo), (phi,0,2*pi), (theta,0,pi))
1
ú'n' must be positive integerú'n' must be greater than 'l'z|'m'| must be less or equal 'l'T)Úfunc)r   r   Ú
is_integerÚ
ValueErrorÚabsr   r	   r   )r   r   Úmr   ÚphiÚthetar   s   &&&&&&&r   ÚPsi_nlmr"   _   s�   € ôp !$¤A¨¨a°CÀÐ'BÓ CÑ€Aˆ!�˜Aà‡|‡|€|˜˜AœÜÐ7Ó8Ð8Ø‡|‡|€|˜QœUÜÐ7Ó8Ð8Ø‡|‡|€|œS ›V qœ[ÜÐ:Ó;Ð;ä��aÓœC  eÓ1×8Ñ8¸dÐ8ÓCÕCÐCr   c                ó²   € \        V 4      \        V4      rV P                  '       d   V ^8  d   \        R4      hV^,          ) ^V ^,          ,          ,          # )aê  
Returns the energy of the state (n, l) in Hartree atomic units.

The energy does not depend on "l".

Parameters
==========

n : integer
    Principal Quantum Number which is
    an integer with possible values as 1, 2, 3, 4,...
Z :
    Atomic number (1 for Hydrogen, 2 for Helium, ...)

Examples
========

>>> from sympy.physics.hydrogen import E_nl
>>> from sympy.abc import n, Z
>>> E_nl(n, Z)
-Z**2/(2*n**2)
>>> E_nl(1)
-1/2
>>> E_nl(2)
-1/8
>>> E_nl(3)
-1/18
>>> E_nl(3, 47)
-2209/18

r   )r   r   r   )r   r   s   &&r   ÚE_nlr$   £   sG   € ô@ ˆQ‹4”�1“€qØ‡|‡|€|˜˜QœÜÐ7Ó8Ð8Øˆq�Dˆ5�!�A�q•D•&�>Ðr   Tz137.035999037c                óæ  € \        \        WW4.4      w  rr4V^ 8¼  g   \        R4      hW8”  g   \        R4      hV^ 8X  d   VRJ d   \        R4      hV'       d   V) ^,
          pMV) p\        V^,          V^,          V^,          ,          ,
          4      pV^,          \        ^V^,          W,           V,           ^,          ,          V^,          ,          ,           4      ,          V^,          ,
          # )a[  
Returns the relativistic energy of the state (n, l, spin) in Hartree atomic
units.

The energy is calculated from the Dirac equation. The rest mass energy is
*not* included.

Parameters
==========

n : integer
    Principal Quantum Number which is
    an integer with possible values as 1, 2, 3, 4,...
l : integer
    ``l`` is the Angular Momentum Quantum Number with
    values ranging from 0 to ``n-1``.
spin_up :
    True if the electron spin is up (default), otherwise down
Z :
    Atomic number (1 for Hydrogen, 2 for Helium, ...)
c :
    Speed of light in atomic units. Default value is 137.035999037,
    taken from https://arxiv.org/abs/1012.3627

Examples
========

>>> from sympy.physics.hydrogen import E_nl_dirac
>>> E_nl_dirac(1, 0)
-0.500006656595360

>>> E_nl_dirac(2, 0)
-0.125002080189006
>>> E_nl_dirac(2, 1)
-0.125000416028342
>>> E_nl_dirac(2, 1, False)
-0.125002080189006

>>> E_nl_dirac(3, 0)
-0.0555562951740285
>>> E_nl_dirac(3, 1)
-0.0555558020932949
>>> E_nl_dirac(3, 1, False)
-0.0555562951740285
>>> E_nl_dirac(3, 2)
-0.0555556377366884
>>> E_nl_dirac(3, 2, False)
-0.0555558020932949

z'l' must be positive or zeror   FzSpin must be up for l==0.)r   r   r   r   )r   r   Úspin_upr   ÚcÚskappaÚbetas   &&&&&  r   Ú
E_nl_diracr*   É   sË   € ôf ”Q˜˜q˜Ó%�J€Aˆ!Ø�ŒFÜÐ7Ó8Ð8ØŒEÜÐ7Ó8Ð8Ø	ˆQŒ�7˜eÓ#ÜÐ4Ó5Ð5çØ��a•‰à�ˆÜ�˜•	˜A˜q�D  A¥�IÕ%Ó&€DØˆa�4”�Q˜˜A�˜q�z¨DÕ0°1Õ4Õ4°Q¸µTÕ9Õ9Ó:Õ:¸QÀ½TÕAÐAr   N)é   )Úsympy.core.numbersr   Úsympy.core.singletonr   Ú(sympy.functions.combinatorial.factorialsr   Ú&sympy.functions.elementary.exponentialr   Ú(sympy.functions.elementary.miscellaneousr   Ú#sympy.functions.special.polynomialsr   Ú+sympy.functions.special.spherical_harmonicsr	   r   r"   r$   r*   © r   r   Ú<module>r4      sE   ðÝ $Ý "Ý >Ý 6Ý 9Ý >Ý ;ôRNôjADôH#ðL " Q©%°Ó*@ö @Br   