o
    oÇhÀ  ã                   @   sT   d dl 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„ Zdd	„ Zd
S )é    )ÚIÚpi)ÚS)Úexp)Úsqrt)Úhbarc                 C   s.   t | ƒt |ƒ} }t| t | ƒtdt ƒ S )aÆ  
    Returns the wavefunction for particle on ring.

    Parameters
    ==========

    n : The quantum number.
        Here ``n`` can be positive as well as negative
        which can be used to describe the direction of motion of particle.
    x :
        The angle.

    Examples
    ========

    >>> from sympy.physics.pring import wavefunction
    >>> from sympy import Symbol, integrate, pi
    >>> x=Symbol("x")
    >>> wavefunction(1, x)
    sqrt(2)*exp(I*x)/(2*sqrt(pi))
    >>> wavefunction(2, x)
    sqrt(2)*exp(2*I*x)/(2*sqrt(pi))
    >>> wavefunction(3, x)
    sqrt(2)*exp(3*I*x)/(2*sqrt(pi))

    The normalization of the wavefunction is:

    >>> integrate(wavefunction(2, x)*wavefunction(-2, x), (x, 0, 2*pi))
    1
    >>> integrate(wavefunction(4, x)*wavefunction(-4, x), (x, 0, 2*pi))
    1

    References
    ==========

    .. [1] Atkins, Peter W.; Friedman, Ronald (2005). Molecular Quantum
           Mechanics (4th ed.).  Pages 71-73.

    é   )r   r   r   r   r   )ÚnÚx© r   úg/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/physics/pring.pyÚwavefunction   s   )r   c                 C   sJ   t | ƒt |ƒt |ƒ} }}| jr!| d td  d| |d   S tdƒ‚)aÑ  
    Returns the energy of the state corresponding to quantum number ``n``.

    E=(n**2 * (hcross)**2) / (2 * m * r**2)

    Parameters
    ==========

    n :
        The quantum number.
    m :
        Mass of the particle.
    r :
        Radius of circle.

    Examples
    ========

    >>> from sympy.physics.pring import energy
    >>> from sympy import Symbol
    >>> m=Symbol("m")
    >>> r=Symbol("r")
    >>> energy(1, m, r)
    hbar**2/(2*m*r**2)
    >>> energy(2, m, r)
    2*hbar**2/(m*r**2)
    >>> energy(-2, 2.0, 3.0)
    0.111111111111111*hbar**2

    References
    ==========

    .. [1] Atkins, Peter W.; Friedman, Ronald (2005). Molecular Quantum
           Mechanics (4th ed.).  Pages 71-73.

    r   z'n' must be integer)r   Ú
is_integerr   Ú
ValueError)r	   ÚmÚrr   r   r   Úenergy5   s   % r   N)Úsympy.core.numbersr   r   Úsympy.core.singletonr   Ú&sympy.functions.elementary.exponentialr   Ú(sympy.functions.elementary.miscellaneousr   Úsympy.physics.quantum.constantsr   r   r   r   r   r   r   Ú<module>   s    -