
    sgx                         d 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 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  ed      Z ed      Zg dZ G d de      Z G d de      Z G d de      Zy)z1D quantum particle in a box.    )pi)S)Symbol)sqrt)sin)Interval)HermitianOperator)KetBra)hbar)KroneckerDelta)L2mL)PIABHamiltonianPIABKetPIABBrac                   &    e Zd ZdZed        Zd Zy)r   z'Particle in a box Hamiltonian operator.c                 d    t        t        t        j                  t        j                              S Nr   r   r   NegativeInfinityInfinityclslabels     M/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/quantum/piab.py_eval_hilbert_spacez#PIABHamiltonian._eval_hilbert_space       (1--qzz:;;    c                     |j                   d   }|dz  t        dz  z  t        dz  z  dt        z  t        dz  z  z  |z  S )Nr      )r   r   r   r   r   )selfketoptionsns       r   _apply_operator_PIABKetz'PIABHamiltonian._apply_operator_PIABKet"   s@    IIaL1RU
47"QqSAX.s22r    N)__name__
__module____qualname____doc__classmethodr   r'    r    r   r   r      s    1< <3r    r   c                   B    e Zd ZdZed        Zed        Zd Zd Zd Z	y)r   zParticle in a box eigenket.c                 d    t        t        t        j                  t        j                              S r   r   )r   argss     r   r   zPIABKet._eval_hilbert_space*   r   r    c                     t         S r   )r   r#   s    r   
dual_classzPIABKet.dual_class.       r    c                 &     | j                   di |S )Nr   )_represent_XOp)r#   r%   s     r   _represent_default_basisz PIABKet._represent_default_basis2   s    "t""3733r    c                     t        d      }t        d      }|j                  di       }t        dt        z        t	        |t
        z  |z  t        z        j                  |      z  S )Nxr&   subsr"   )r   getr   r   r   r   r:   )r#   basisr%   r9   r&   	subs_infos         r   r6   zPIABKet._represent_XOp5   sR    3K3KKK+	AaCyQrT!VAX++I666r    c                 N    t        |j                  d   | j                  d         S )Nr   )r   r   )r#   bras     r   _eval_innerproduct_PIABBraz"PIABKet._eval_innerproduct_PIABBra;   s    ciilDJJqM::r    N)
r(   r)   r*   r+   r,   r   r3   r7   r6   r@   r-   r    r   r   r   '   s:    %< <  47;r    r   c                   0    e Zd ZdZed        Zed        Zy)r   zParticle in a box eigenbra.c                 d    t        t        t        j                  t        j                              S r   r   r   s     r   r   zPIABBra._eval_hilbert_spaceB   r   r    c                     t         S r   )r   r2   s    r   r3   zPIABBra.dual_classF   r4   r    N)r(   r)   r*   r+   r,   r   r3   r-   r    r   r   r   ?   s+    %< <  r    r   N)r+   sympy.core.numbersr   sympy.core.singletonr   sympy.core.symbolr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   sympy.sets.setsr   sympy.physics.quantum.operatorr	   sympy.physics.quantum.stater
   r   sympy.physics.quantum.constantsr   (sympy.functions.special.tensor_functionsr   sympy.physics.quantum.hilbertr   r   r   __all__r   r   r   r-   r    r   <module>rP      sg    # ! " $ 9 8 $ < 0 0 C ,
3K
3K	3' 	3;c ;0	c 	r    