
    Edx                        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dS )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dS )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     :lib/python3.11/site-packages/sympy/physics/quantum/piab.py_eval_hilbert_spacez#PIABHamiltonian._eval_hilbert_space       (1-qz::;;;    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>    IaL1RU
47"QqSAX.s22r    N)__name__
__module____qualname____doc__classmethodr   r'    r    r   r   r      sB        11< < [<3 3 3 3 3r    r   c                   P    e Zd ZdZed             Zed             Zd Zd Zd Z	dS )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"337333r    c                    t          d          }t          d          }|                    di           }t          dt          z            t	          |t
          z  |z  t          z                                |          z  S )Nxr&   subsr"   )r   getr   r   r   r   r:   )r#   basisr%   r9   r&   	subs_infos         r   r6   zPIABKet._represent_XOp5   s`    3KK3KKKK++	AaCyyQrT!VAX++I6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    cilDJqM:::r    N)
r(   r)   r*   r+   r,   r   r3   r7   r6   r@   r-   r    r   r   r   '   s{        %%< < [<   [4 4 47 7 7; ; ; ; ;r    r   c                   >    e Zd ZdZed             Zed             ZdS )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   ?   sN        %%< < [<   [  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      s   # # ! ! ! ! ! ! " " " " " " $ $ $ $ $ $ 9 9 9 9 9 9 8 8 8 8 8 8 $ $ $ $ $ $ < < < < < < 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C C C C C C , , , , , ,
F3KK
F3KK  	3 	3 	3 	3 	3' 	3 	3 	3; ; ; ; ;c ; ; ;0	 	 	 	 	c 	 	 	 	 	r    