U
    ZÊ¹j  ã                   @   s  d Z 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lmZ ddlmZ dd	lmZmZmZmZ dd
lmZmZ ddlmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z% ddl&m'Z' edƒ\Z(Z)Z*Z+Z,Z-Z.Z/edƒ\Z0Z1Z2Z3dd„ Z4dd„ Z5dd„ Z6dS )zTests for cartesian.pyé    )ÚIÚpi)ÚS)Úsymbols)Úexp)Úsqrt)Ú
DiracDelta)ÚInterval)ÚqapplyÚ	representÚL2ÚDagger)Ú
CommutatorÚhbar)ÚXOpÚYOpÚZOpÚPxOpÚXÚYÚZÚPxÚXKetÚXBraÚPxKetÚPxBraÚPositionKet3DÚPositionBra3D)ÚDifferentialOperatorzx,y,z,x_1,x_2,x_3,y_1,z_1zpx py px_1 px_2c                  C   s¢  t jtttjtjƒƒkst‚tt t	ƒ 
¡ tt ks6t‚tt ttƒ ƒtttƒ ksVt‚ttƒ ¡ tksjt‚ttƒ ¡ tks~t‚tttƒƒttƒ  
¡ ttt ƒks¦t‚ttƒttƒ  
¡ tt t t t ƒtdt t ƒ ksät‚tttƒƒttt ƒk�st‚tttƒƒtt t ƒk�s"t‚ttƒjtk�s6t‚ttƒ tƒ  ƒtttt ƒ k�s\t‚ttƒ tƒ  tdƒ ƒtttt ƒ ttt ƒ k�s–t‚ttdƒtƒ  ƒttt ƒk�sºt‚ttƒ tƒ  ƒttt ƒttt ƒ k�sèt‚ttƒ t d�} | tt tt!t" ƒ t#t!ƒ k�st‚| ttƒ t ƒ d�k�s6t‚| ttƒ t$d�k�sNt‚| ttƒ t$ƒ d�k�sht‚ttƒ t$ƒ  t$d�tt ttt" ƒ t#tƒ k�sžt‚d S )Né   Úy©Zbasis)%r   Úhilbert_spacer   r	   r   ÚNegativeInfinityÚInfinityÚAssertionErrorr   r   Údoitr   r   r
   r   ÚxÚ
dual_classr   r   r    r   r   Úpxr   r   r   r   Úx_1Úpositionr   Úx_2Úx_3r   Úpx_1Úpx_2r   r   )Zrep_p© r0   úi/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/physics/quantum/tests/test_cartesian.pyÚtest_x   s<     ($ÿ &ÿ
$
ÿÿ
&ÿr2   c                  C   sâ  t jtttjtjƒƒkst‚tt t	t
ƒ ƒt
t	t
ƒ ks<t‚t	t
ƒ ¡ tksPt‚ttƒ ¡ t	ksdt‚tt	tƒƒt	t
ƒ  ¡ tt
t ƒksŒt‚ttƒt	t
ƒ  ¡ ttt t
 t ƒtdt t ƒ ksÈt‚tt	t
ƒƒtt
t ƒksät‚ttƒ td�} | t t ttt ƒ ttƒ k�st‚| ttƒ tƒ d�k�s4t‚| ttƒ td�k�sLt‚| ttƒ tƒ d�k�sft‚ttƒ tƒ  td�t t ttt ƒ ttƒ k�sžt‚ttdƒtƒ  tƒ  td�t t ttt  ƒ ttƒ k�sÞt‚d S )Nr   r!   r    )!r   r"   r   r	   r   r#   r$   r%   r
   r   r)   r(   r   r'   r   Úpyr&   r   r   r   r   r   r   r   r   r.   r   r   r*   r,   r   r   r    )Zrep_xr0   r0   r1   Útest_p4   s(     ("ÿ(ÿ
ÿr4   c                  C   sò  t jtttjtjƒƒkst‚tjtttjtjƒƒks8t‚t	t
ttƒ} tt|  ƒt
|  ks\t‚tt |  ƒt|  kstt‚tt|  ƒt|  ksŒt‚ttt  |  ƒt
t |  ks¬t‚ttt  t |  ƒt
t t |  ksÔt‚tt t |  ƒtt |  ksôt‚t	ƒ | k�st‚tƒ t k�st‚tƒ tk�s$t‚t	 ¡ tk�s6t‚t ¡ t	k�sHt‚t	tttƒ}t|ƒ|   ¡ tt
t ƒttt ƒ ttt ƒ k�sŽt‚| jt
k�sžt‚| jtk�s®t‚| jtk�s¾t‚|jtk�sÎt‚|jtk�sÞt‚|jtk�sît‚d S )N)r   r"   r   r	   r   r#   r$   r%   r   r   r'   r    Úzr
   r   r   r   r(   r   r*   Úy_1Úz_1r   r&   r   Z
position_xZ
position_yZ
position_z)Ztest_ketZ	other_ketr0   r0   r1   Ú
test_3dposJ   s0     ( "ÿ
r8   N)7Ú__doc__Zsympy.core.numbersr   r   Zsympy.core.singletonr   Zsympy.core.symbolr   Z&sympy.functions.elementary.exponentialr   Z(sympy.functions.elementary.miscellaneousr   Z'sympy.functions.special.delta_functionsr   Zsympy.sets.setsr	   Zsympy.physics.quantumr
   r   r   r   r   r   Zsympy.physics.quantum.cartesianr   r   r   r   r   r   r   r   r   r   r   r   r   r   Zsympy.physics.quantum.operatorr   r'   r    r5   r*   r,   r-   r6   r7   r)   r3   r.   r/   r2   r4   r8   r0   r0   r0   r1   Ú<module>   s    @