
    Ed	                     B    d dl mZmZmZ d dlmZmZmZmZm	Z	 d Z
d ZdS )    )SpiRational)assoc_laguerresqrtexp	factorial
factorial2c           	         t          t          | |||g          \  } }}}| dz   } t          d|z  |t          dd          z   z  d| |z   dz   z  z  t	          | dz
            z  t          t
                    t          d| z  d|z  z   dz
            z  z            }|||z  z  t          | |dz  z            z  t          | dz
  |t          j	        z   d|z  |dz  z            z  S )aM  
    Returns the radial wavefunction R_{nl} for a 3d isotropic harmonic
    oscillator.

    Parameters
    ==========

    ``n`` :
        The "nodal" quantum number.  Corresponds to the number of nodes in
        the wavefunction.  ``n >= 0``
    ``l`` :
        The quantum number for orbital angular momentum.
    ``nu`` :
        mass-scaled frequency: nu = m*omega/(2*hbar) where `m` is the mass
        and `omega` the frequency of the oscillator.
        (in atomic units ``nu == omega/2``)
    ``r`` :
        Radial coordinate.

    Examples
    ========

    >>> from sympy.physics.sho import R_nl
    >>> from sympy.abc import r, nu, l
    >>> R_nl(0, 0, 1, r)
    2*2**(3/4)*exp(-r**2)/pi**(1/4)
    >>> R_nl(1, 0, 1, r)
    4*2**(1/4)*sqrt(3)*(3/2 - 2*r**2)*exp(-r**2)/(3*pi**(1/4))

    l, nu and r may be symbolic:

    >>> R_nl(0, 0, nu, r)
    2*2**(3/4)*sqrt(nu**(3/2))*exp(-nu*r**2)/pi**(1/4)
    >>> R_nl(0, l, 1, r)
    r**l*sqrt(2**(l + 3/2)*2**(l + 2)/factorial2(2*l + 1))*exp(-r**2)/pi**(1/4)

    The normalization of the radial wavefunction is:

    >>> from sympy import Integral, oo
    >>> Integral(R_nl(0, 0, 1, r)**2*r**2, (r, 0, oo)).n()
    1.00000000000000
    >>> Integral(R_nl(1, 0, 1, r)**2*r**2, (r, 0, oo)).n()
    1.00000000000000
    >>> Integral(R_nl(1, 1, 1, r)**2*r**2, (r, 0, oo)).n()
    1.00000000000000

             )
mapr   r   r   r	   r   r
   r   r   Half)nlnurCs        1lib/python3.11/site-packages/sympy/physics/sho.pyR_nlr      s    ` a!QA''KAq"a 	
AAda(1a..()!a!eai.81q59I9II"XXz!A#!)a-0013	 	A QV8CAqDMM!.QAF
AbDAI"N"NNN    c                 :    d| z  |z   t          dd          z   |z  S )aP  
    Returns the Energy of an isotropic harmonic oscillator.

    Parameters
    ==========

    ``n`` :
        The "nodal" quantum number.
    ``l`` :
        The orbital angular momentum.
    ``hw`` :
        The harmonic oscillator parameter.

    Notes
    =====

    The unit of the returned value matches the unit of hw, since the energy is
    calculated as:

        E_nl = (2*n + l + 3/2)*hw

    Examples
    ========

    >>> from sympy.physics.sho import E_nl
    >>> from sympy import symbols
    >>> x, y, z = symbols('x, y, z')
    >>> E_nl(x, y, z)
    z*(2*x + y + 3/2)
    r   r   )r   )r   r   hws      r   E_nlr   @   s$    > aC!Ghq!nn$b((r   N)
sympy.corer   r   r   sympy.functionsr   r   r   r	   r
   r   r    r   r   <module>r      sy    & & & & & & & & & & L L L L L L L L L L L L L L8O 8O 8Ov) ) ) ) )r   