
    sgL                        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 d dlmZmZmZmZmZmZmZ d dlmZmZ d dlmZ  e        e        e       cZZZ ed	       ed	       ed	      cZZZ  ed
       ed
       ed
      cZ!Z"Z# e        e       cZ$Z% ed	       ed	      cZ&Z' ed       ed      cZ(Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3d Z4d Z5y)    )Mul)I)Matrix)latex)Dagger
CommutatorAntiCommutatorqapplyOperator	represent)SigmaOpBaseSigmaXSigmaYSigmaZ
SigmaMinus	SigmaPlusqsimplify_pauli)	SigmaZKet	SigmaZBra)raises      ABc                     t        t        t              rt        t        t              sJ t        t        t              rt        t        t
              sJ t        t        t              rt        t        t              sJ t        t        t              rt        t        t              sJ t        t        t              rt        t        t              sJ y N)
isinstancesxr   r   syr   szr   smr   spr        Y/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/quantum/tests/test_pauli.pytest_pauli_operators_typesr&      s    b+&:b&+AAAb+&:b&+AAAb+&:b&+AAAb+&:b*+EEEb+&:b)+DDD+Dr$   c                  B   t        t        t              j                         dt        z  t
        z  k(  sJ t        t        t
              j                         dt        z  t        z  k(  sJ t        t
        t              j                         dt        z  t        z  k(  sJ y Nr   )r   r   r   doitr   r    r#   r$   r%   test_pauli_operators_commutatorr*       st    b"""$A
222b"""$A
222b"""$A
222r$   c                  j   t        t        t              j                         dt        z  t
        z  k(  sJ t        t        t
              j                         dt        z  t        z  k(  sJ t        t
        t              j                         dt        z  t        z  k(  sJ t        t        t              j                         dt        z  t        z  k(  sJ t        t        t              j                         dt        z  t        z  k(  sJ t        t        t              j                         dt        z  t        z  k(  sJ t        t        t              j                         dk(  sJ t        t        t              j                         dk(  sJ t        t
        t              j                         dk(  sJ y )Nr   r   )	r   sx1sy1r)   r   sz1sx2sy2sz2r#   r$   r%   +test_pauli_operators_commutator_with_labelsr2   '   s@   c3$$&!a%#+555c3$$&!a%#+555c3$$&!a%#+555c3$$&!a%#+555c3$$&!a%#+555c3$$&!a%#+555c3$$&!+++c3$$&!+++c3$$&!+++r$   c                  <   t        t        t              j                         dk(  sJ t        t        t              j                         dk(  sJ t        t        t
              j                         dk(  sJ t        t        t              j                         dk(  sJ y )Nr   r   )r	   r   r    r)   r   r!   r"   r#   r$   r%   #test_pauli_operators_anticommutatorr4   6   sz    "b!&&(A---"b!&&(A---"b!&&(A---"b!&&(A---r$   c                      t        t              t        k(  sJ t        t              t        k(  sJ t        t              t        k(  sJ y r   )r   r   r   r    r#   r$   r%   test_pauli_operators_adjointr6   >   s8    ":":":r$   c                  $   t        t              t        k(  sJ t        t              t        k(  sJ t        t              t        k(  sJ t        t              t        k7  sJ t        t              t
        k7  sJ t        t              t        k7  sJ y r   )r   r,   r-   r.   r/   r0   r1   r#   r$   r%   (test_pauli_operators_adjoint_with_labelsr8   E   sn    #;##;##;##;##;##;#r$   c                  t   t        t        t        z        dk(  sJ t        t        t        z        dk(  sJ t        t        t        z        dk(  sJ t        t        t        z        t        t        z  k(  sJ t        t        t        z        t        t        z  k(  sJ t        t        t        z        t        t        z  k(  sJ t        t        t        z        t         t        z  k(  sJ t        t        t        z        t         t        z  k(  sJ t        t        t        z        t         t        z  k(  sJ y Nr   )r   r   r   r    r   r#   r$   r%   #test_pauli_operators_multiplicationr;   P   s    27#q(((27#q(((27#q(((27#q2v---27#q2v---27#q2v---27#sRx///27#sRx///27#sRx///r$   c                  (   t        t        t        z        dk(  sJ t        t        t        z        dk(  sJ t        t        t        z        dk(  sJ t	        t        t
        z  t              sJ t	        t        t        z  t              sJ t	        t        t        z  t              sJ t        t        t        z  t
        z  t        z        t         t        z  k(  sJ t        t        t        z  t        z  t
        z        t         t        z  k(  sJ y r:   )	r   r,   r-   r.   r   r/   r   r0   r1   r#   r$   r%   /test_pauli_operators_multiplication_with_labelsr=   _   s    39%***39%***39%***cCi%%%cCi%%%cCi%%%39s?S01sUS[@@@39s?S01sUS[@@@r$   c                     t               t               }} t        d      }t        d      }t        | |z        |k(  sJ t        | |z        |k(  sJ t        ||z        |k(  sJ t        ||z        | k(  sJ t	        d      }t	        d      }t        || z  d      |k(  sJ t        || z  d      |k(  sJ t        ||z  d      |k(  sJ t        ||z  d      | k(  sJ t        t        d            t	        d      k(  sJ t        t	        d            t        d      k(  sJ t        t        d        t        t        d        y )Nr   r   T)daggerc                      t        d      S r(   )r   r#   r$   r%   <lambda>z#test_pauli_states.<locals>.<lambda>   
    y| r$   c                      t        d      S r(   )r   r#   r$   r%   rA   z#test_pauli_states.<locals>.<lambda>   rB   r$   )r   r   r   r
   r   r   r   
ValueError)r   r    updowns       r%   test_pauli_statesrG   m   sA   XvxB	1BQ<D"r'?d""""t)""""r'?b   "t)$&&&	1BQ<D"r'$'4///$)D)R///"r'$'2---$)D)tV333)A,9Q<///)A,9Q<///
:+,
:+,r$   c                      t         j                  du sJ t        j                  du sJ t        j                  du sJ t        j                  du sJ y )NFT)r!   use_namesm1r   r,   r#   r$   r%   test_use_namerK      sJ    ;;%<<4;;%<<4r$   c                     t        t              dk(  sJ t        t              dk(  sJ t        t              dk(  sJ t        t              dk(  sJ t        t
              dk(  sJ t        t              dk(  sJ t        t              dk(  sJ t        t              dk(  sJ t        t              d	k(  sJ t        t              d
k(  sJ y )Nz
{\sigma_x}z{\sigma_x^{(1)}}z
{\sigma_y}z{\sigma_y^{(1)}}z
{\sigma_z}z{\sigma_z^{(1)}}z
{\sigma_-}z{\sigma_-^{(1)}}z
{\sigma_+}z{\sigma_+^{(1)}})r   r   r,   r   r-   r    r.   r!   rJ   r"   sp1r#   r$   r%   test_printingrN      s    9%%%:,,,,9%%%:,,,,9%%%:,,,,9%%%:,,,,9%%%:,,,,r$   c                  t   t        t              t        ddgddgg      k(  sJ t        t              t        dt         gt        dgg      k(  sJ t        t
              t        ddgddgg      k(  sJ t        t              t        ddgddgg      k(  sJ t        t              t        ddgddgg      k(  sJ y )Nr   r   )r   r   r   r   r   r    r!   r"   r#   r$   r%   test_representrQ      s    R=FQFQF#34444R=FQGaV#45555R=FQFQG#45555R=FQFQF#34444R=FQFQF#34444r$   N)6sympy.core.mulr   sympy.core.numbersr   sympy.matrices.denser   sympy.printing.latexr   sympy.physics.quantumr   r   r	   r
   r   r   sympy.physics.quantum.paulir   r   r   r   r   r   r   r   r   sympy.testing.pytestr   r   r   r    r,   r-   r.   r/   r0   r1   r!   r"   rJ   rM   r   r   r&   r*   r2   r4   r6   r8   r;   r=   rG   rK   rN   rQ   r#   r$   r%   <module>rY      s       ' &8 8: : : = ' Xvx
Bq	6!9fQiS#q	6!9fQiS#	y{Ba=)A,S}hsm1E3,.0A-2 
-5r$   