ó
~9­\c           @   sr  d  d l  m Z m Z d  d l m Z m Z m Z m Z m Z d  d l	 m
 Z
 m Z m Z m Z m Z m Z m Z d  d l	 m Z m Z e ƒ  e ƒ  e ƒ  Z Z Z e d ƒ e d ƒ e d ƒ Z Z Z e d ƒ e d ƒ e d ƒ Z Z Z e ƒ  e ƒ  Z Z e d ƒ e d ƒ Z Z d	 „  Z  d
 „  Z! d „  Z" d „  Z# d „  Z$ d „  Z% d „  Z& d „  Z' d „  Z( d S(   iÿÿÿÿ(   t   It   Mul(   t   Daggert
   Commutatort   AntiCommutatort   qapplyt   Operator(   t   SigmaOpBaset   SigmaXt   SigmaYt   SigmaZt
   SigmaMinust	   SigmaPlust   qsimplify_pauli(   t	   SigmaZKett	   SigmaZBrai   i   t   At   Bc           C   s¸   t  t t ƒ r t  t t ƒ s$ t ‚ t  t t ƒ rB t  t t ƒ sH t ‚ t  t t ƒ rf t  t t ƒ sl t ‚ t  t	 t ƒ rŠ t  t	 t
 ƒ s t ‚ t  t t ƒ r® t  t t ƒ s´ t ‚ d  S(   N(   t
   isinstancet   sxR   R   t   AssertionErrort   syR	   t   szR
   t   smR   t   spR   (    (    (    sE   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_pauli.pyt   test_pauli_operators_types   s
    $$$$c           C   s   t  t t ƒ j ƒ  d t t k s) t ‚ t  t t ƒ j ƒ  d t t k sR t ‚ t  t t ƒ j ƒ  d t t k s{ t ‚ d  S(   Ni   (   R   R   R   t   doitR    R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_pauli.pyt   test_pauli_operators_commutator   s    ))c           C   s]  t  t t ƒ j ƒ  d t t k s) t ‚ t  t t ƒ j ƒ  d t t k sR t ‚ t  t t ƒ j ƒ  d t t k s{ t ‚ t  t t ƒ j ƒ  d t t	 k s¤ t ‚ t  t t	 ƒ j ƒ  d t t k sÍ t ‚ t  t	 t ƒ j ƒ  d t t k sö t ‚ t  t t ƒ j ƒ  d k st ‚ t  t t	 ƒ j ƒ  d k s8t ‚ t  t t ƒ j ƒ  d k sYt ‚ d  S(   Ni   i    (
   R   t   sx1t   sy1R   R    t   sz1R   t   sx2t   sy2t   sz2(    (    (    sE   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_pauli.pyt+   test_pauli_operators_commutator_with_labels"   s    ))))))!!c           C   sˆ   t  t t ƒ j ƒ  d k s! t ‚ t  t t ƒ j ƒ  d k sB t ‚ t  t t ƒ j ƒ  d k sc t ‚ t  t t ƒ j ƒ  d k s„ t ‚ d  S(   Ni    i   (   R   R   R   R   R   R   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_pauli.pyt#   test_pauli_operators_anticommutator1   s    !!!c           C   sL   t  t ƒ t k s t ‚ t  t ƒ t k s0 t ‚ t  t ƒ t k sH t ‚ d  S(   N(   R   R   R   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_pauli.pyt   test_pauli_operators_adjoint9   s    c           C   s”   t  t ƒ t k s t ‚ t  t ƒ t k s0 t ‚ t  t ƒ t k sH t ‚ t  t ƒ t k s` t ‚ t  t ƒ t k sx t ‚ t  t ƒ t k s t ‚ d  S(   N(   R   R   R   R   R   R   R    R!   (    (    (    sE   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_pauli.pyt(   test_pauli_operators_adjoint_with_labels@   s    c           C   s  t  t t ƒ d k s t ‚ t  t t ƒ d k s8 t ‚ t  t t ƒ d k sT t ‚ t  t t ƒ t t k st t ‚ t  t t ƒ t t k s” t ‚ t  t t ƒ t t k s´ t ‚ t  t t ƒ t t k sÕ t ‚ t  t t ƒ t t k sö t ‚ t  t t ƒ t t k st ‚ d  S(   Ni   (   R   R   R   R   R   R    (    (    (    sE   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_pauli.pyt#   test_pauli_operators_multiplicationK   s       !!c           C   sõ   t  t t ƒ d k s t ‚ t  t t ƒ d k s8 t ‚ t  t t ƒ d k sT t ‚ t t t t ƒ sm t ‚ t t t t ƒ s† t ‚ t t t	 t ƒ sŸ t ‚ t  t t t t ƒ t t	 k sÈ t ‚ t  t t t	 t ƒ t t k sñ t ‚ d  S(   Ni   (
   R   R   R   R   R   R   R   R   R    R!   (    (    (    sE   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_pauli.pyt/   test_pauli_operators_multiplication_with_labelsZ   s    )c          C   s‰  t  ƒ  t ƒ  }  } t d ƒ } t d ƒ } t |  | ƒ | k sG t ‚ t |  | ƒ | k sc t ‚ t | | ƒ | k s t ‚ t | | ƒ | k sœ t ‚ t d ƒ } t d ƒ } t | |  d t ƒ| k sÖ t ‚ t | |  d t ƒ| k sø t ‚ t | | d t ƒ| k st ‚ t | | d t ƒ| k s=t ‚ t t d ƒ ƒ t d ƒ k sat ‚ t t d ƒ ƒ t d ƒ k s…t ‚ d  S(   Ni    i   t   dagger(   R   R
   R   R   R   R   t   TrueR   (   R   R   t   upt   down(    (    sE   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_pauli.pyt   test_pauli_statesh   s    """#$N()   t   sympyR    R   t   sympy.physics.quantumR   R   R   R   R   t   sympy.physics.quantum.pauliR   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R   R   R   R   R   R   R"   R#   R$   R%   R&   R'   R,   (    (    (    sE   lib/python2.7/site-packages/sympy/physics/quantum/tests/test_pauli.pyt   <module>   s"   (4&&									