ó
¡¼™\c           @   s  d  d l  m Z m Z m Z m Z 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 d  d	 l m Z m Z m Z m Z m Z 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& m' Z' m( Z( d  d
 l m Z e d ƒ \ Z) Z* Z+ Z, e d d ƒ Z- e d d ƒ Z. e d d  ƒ Z/ e d ƒ Z0 d e f d „  ƒ  YZ1 d „  Z2 d „  Z3 d „  Z4 d „  Z5 d „  Z6 d „  Z7 d „  Z8 d „  Z9 d „  Z: d „  Z; d „  Z< d  „  Z= d! S("   iÿÿÿÿ(   t   It   Integert   sqrtt   symbolst   St   Mul(   t   AntiCommutator(   t
   Commutator(   t   hbar(   t   Dagger(   t   H(   t   Operator(   t   qapply(   t   Jxt   Jyt   Jzt   Jplust   Jminust   J2t   JzKet(   t   TensorProduct(   t   Ket(   t   Density(   t   Qubit(   t   BosonOpt   BosonFockKett   BosonFockBras	   j j' m m'i   i    t   At   Fooc           B   s   e  Z d  „  Z RS(   c         K   s   | S(   N(    (   t   selft   kett   options(    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   _apply_operator_JzKet   s    (   t   __name__t
   __module__R    (    (    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyR      s   c           C   s~  t  t t ƒ t t k s  t ‚ t  t t ƒ t t t d ƒ t t t d ƒ k s\ t ‚ t  t	 t
 t t d ƒ ƒ t 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 k sî t ‚ t  t
 t
 t ƒ d t d t k st ‚ t  t	 d t ƒ d t d t k sFt ‚ t  t	 d t
 d t ƒ d t d t k szt ‚ d  S(   Ni   i   (   R   R   t   poR   t   AssertionErrorR   t   zR   t   moR   R   (    (    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt
   test_basic!   s     <6,0,,c          C   sß  t  j t t  }  t t t |  ƒ t t |  k s9 t ‚ t t t  |  ƒ t t t	 d ƒ t t
 t	 d ƒ |  k s} t ‚ t t t t  t	 d ƒ |  ƒ t 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
 |  k s7t ‚ t t t t |  ƒ d t d t
 |  k skt ‚ t t d t
 |  ƒ d t d t |  k sŸt ‚ t t d t d t |  ƒ d t d t |  k sÛt ‚ d  S(   Ni   i   (   R%   t   dualR   R   R   R#   R   R$   R   R   R&   R   R   (   t   extra(    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt
   test_extra,   s    (D?8@44c           C   s[   t  t j t t d t ƒt t j t k s4 t ‚ t  t j t t ƒ t k sW t ‚ d  S(   Nt   ip_doit(   R   R#   R(   R   t   FalseR   R$   (    (    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   test_innerproduct9   s    4c           C   s:   t  d ƒ d k s t ‚ t  t d ƒ ƒ d k s6 t ‚ d  S(   Ni    (   R   R$   R   (    (    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt	   test_zero>   s    c           C   s¸   t  t t t ƒ t t ƒ t t d t k s5 t ‚ t  t t	 t ƒ t t ƒ d k s^ t ‚ t  t t t
 d ƒ ƒ t ƒ d k s‰ t ‚ t  t t
 d ƒ t ƒ t ƒ d k s´ t ‚ d  S(   Ni   i    t   F(   R   R   R   R   R   R#   R    R   R$   R   R   (    (    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   test_commutatorC   s    5)+c           C   sj   t  t t t d ƒ ƒ t ƒ d t t k s3 t ‚ t  t t d ƒ t ƒ t ƒ d t t k sf t ‚ d  S(   NR/   i   (   R   R   R   R   R#   R   R$   (    (    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   test_anticommutatorJ   s    3c          C   s—   t  t t j t  t }  t |  ƒ t d t k s: t ‚ t |  d t ƒt d t j t t k sl t ‚ t |  ƒ j ƒ  t d t k s“ t ‚ d  S(   Ni   R+   (	   R   R&   R#   R(   R   R   R$   R,   t   doit(   t   e(    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   test_outerproductO   s    !2c          C   så  t  d ƒ }  t  d ƒ } t t d ƒ t d ƒ ƒ } t t d ƒ t d ƒ ƒ } t t d ƒ t d ƒ ƒ } t t d ƒ t d ƒ ƒ } t t d ƒ t d ƒ ƒ } t t |  | d ƒ | ƒ t d ƒ | k sÒ t ‚ t t |  t | ƒ | ƒ | ƒ d | k st ‚ t | t |  | | ƒ d t ƒt d ƒ | k s>t ‚ t | | ƒ j	 ƒ  t d d ƒ k sit ‚ t t |  | | ƒ | ƒ t d ƒ | k sœt ‚ t t t |  | | ƒ | ƒ d t ƒt d ƒ t | ƒ k sát ‚ d  S(   Nt   at   bi   i   i    t   dagger(
   R   R   R   R   R   R   R$   R	   t   TrueR2   (   R5   R6   t   ket1t   ket2t   ket3t   bra1t   bra2(    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   test_tensorproductV   s    33+3 c          C   sz   t  t d ƒ ƒ t  t d ƒ ƒ }  t  t d ƒ ƒ t d ƒ t  t d ƒ ƒ t d ƒ } t |  d t ƒ| k sv t ‚ d  S(   Ni    i   i   R7   (   R	   R   R
   R   R   R8   R$   (   t   lhst   rhs(    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   test_daggerh   s    "6c          C   su   t  d d t ƒ\ }  } t |  | ƒ } t d ƒ } t | ƒ | k sK t ‚ t | j | ƒ | j | k sq t ‚ d  S(   Ns   x yt   commutativet   B(   R   R,   R   R   R   R$   R(   (   t   xt   yR   RC   (    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   test_issue_6073n   s
    c          C   s]   t  t t d g t t d g ƒ }  t |  ƒ t  t t d g t t d g ƒ k sY t ‚ d  S(   Ng      à?(   R   R   R&   R#   R   R   R$   (   t   d(    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   test_densityv   s    #c          C   sß   t  t t t d ƒ t d ƒ ƒ t d ƒ t t t d ƒ d t d ƒ d ƒ ƒ }  t t d ƒ t d ƒ d d t d ƒ d t d ƒ } | t  t d d ƒ t t d ƒ d t d ƒ d ƒ ƒ 9} t |  ƒ | k sÛ t ‚ d  S(   Ni   iÿÿÿÿi   i   (	   R   R   R   R   R   R   R   R   R$   (   t   expr1t   result(    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   test_issue3044{   s    S79N(>   t   sympyR    R   R   R   R   R   t$   sympy.physics.quantum.anticommutatorR   t    sympy.physics.quantum.commutatorR   t   sympy.physics.quantum.constantsR   t   sympy.physics.quantum.daggerR	   t   sympy.physics.quantum.gateR
   t   sympy.physics.quantum.operatorR   t   sympy.physics.quantum.qapplyR   t   sympy.physics.quantum.spinR   R   R   R   R   R   R   t#   sympy.physics.quantum.tensorproductR   t   sympy.physics.quantum.stateR   t   sympy.physics.quantum.densityR   t   sympy.physics.quantum.qubitR   t   sympy.physics.quantum.bosonR   R   R   t   jt   jpt   mt   mpR%   R#   R&   R   R   R'   R*   R-   R.   R0   R1   R4   R>   RA   RF   RH   RK   (    (    (    sF   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_qapply.pyt   <module>   s@   .4											