
    \hL                        S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	J
r
JrJrJrJr  S SKJrJrJrJrJrJrJr  S SKJrJr  S SKJr  \" 5       \" 5       \" 5       srrr\" S	5      \" S	5      \" S	5      srrr \" S
5      \" S
5      \" S
5      sr!r"r#\" 5       \" 5       sr$r%\" S	5      \" S	5      sr&r'\" S5      \" S5      sr(r)S r*S r+S r,S r-S r.S r/S r0S r1S r2S r3S r4S r5g)    )Mul)I)Matrix)latex)Dagger
CommutatorAntiCommutatorqapplyOperator	represent)SigmaOpBaseSigmaXSigmaYSigmaZ
SigmaMinus	SigmaPlusqsimplify_pauli)	SigmaZKet	SigmaZBra)raises      ABc                     [        [        [        5      (       a  [        [        [        5      (       d   e[        [        [        5      (       a  [        [        [
        5      (       d   e[        [        [        5      (       a  [        [        [        5      (       d   e[        [        [        5      (       a  [        [        [        5      (       d   e[        [        [        5      (       a  [        [        [        5      (       d   eg N)
isinstancesxr   r   syr   szr   smr   spr        ^/var/www/auris/envauris/lib/python3.13/site-packages/sympy/physics/quantum/tests/test_pauli.pytest_pauli_operators_typesr&      s    b+&&:b&+A+AAAb+&&:b&+A+AAAb+&&:b&+A+AAAb+&&:b*+E+EEEb+&&:b)+D+DDD+Dr$   c                  H   [        [        [        5      R                  5       S[        -  [
        -  :X  d   e[        [        [
        5      R                  5       S[        -  [        -  :X  d   e[        [
        [        5      R                  5       S[        -  [        -  :X  d   eg 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                  |   [        [        [        5      R                  5       S[        -  [
        -  :X  d   e[        [        [
        5      R                  5       S[        -  [        -  :X  d   e[        [
        [        5      R                  5       S[        -  [        -  :X  d   e[        [        [        5      R                  5       S[        -  [        -  :X  d   e[        [        [        5      R                  5       S[        -  [        -  :X  d   e[        [        [        5      R                  5       S[        -  [        -  :X  d   e[        [        [        5      R                  5       S:X  d   e[        [        [        5      R                  5       S:X  d   e[        [
        [        5      R                  5       S:X  d   eg )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                  D   [        [        [        5      R                  5       S:X  d   e[        [        [        5      R                  5       S:X  d   e[        [        [
        5      R                  5       S:X  d   e[        [        [        5      R                  5       S:X  d   eg )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                      [        [        5      [        :X  d   e[        [        5      [        :X  d   e[        [        5      [        :X  d   eg r   )r   r   r   r    r#   r$   r%   test_pauli_operators_adjointr6   >   s8    ":":":r$   c                  0   [        [        5      [        :X  d   e[        [        5      [        :X  d   e[        [        5      [        :X  d   e[        [        5      [        :w  d   e[        [        5      [
        :w  d   e[        [        5      [        :w  d   eg r   )r   r,   r-   r.   r/   r0   r1   r#   r$   r%   (test_pauli_operators_adjoint_with_labelsr8   E   sn    #;##;##;##;##;##;#r$   c                     [        [        [        -  5      S:X  d   e[        [        [        -  5      S:X  d   e[        [        [        -  5      S:X  d   e[        [        [        -  5      [        [        -  :X  d   e[        [        [        -  5      [        [        -  :X  d   e[        [        [        -  5      [        [        -  :X  d   e[        [        [        -  5      [        * [        -  :X  d   e[        [        [        -  5      [        * [        -  :X  d   e[        [        [        -  5      [        * [        -  :X  d   eg 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                  P   [        [        [        -  5      S:X  d   e[        [        [        -  5      S:X  d   e[        [        [        -  5      S:X  d   e[	        [        [
        -  [        5      (       d   e[	        [        [        -  [        5      (       d   e[	        [        [        -  [        5      (       d   e[        [        [        -  [
        -  [        -  5      [        * [        -  :X  d   e[        [        [        -  [        -  [
        -  5      [        * [        -  :X  d   eg 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                  ~   [        5       [        5       p[        S5      n[        S5      n[        X-  5      U:X  d   e[        X-  5      U:X  d   e[        X-  5      U:X  d   e[        X-  5      U* :X  d   e[	        S5      n[	        S5      n[        X -  SS9U:X  d   e[        X0-  SS9U:X  d   e[        X!-  SS9U:X  d   e[        X1-  SS9U* :X  d   e[        [        S5      5      [	        S5      :X  d   e[        [	        S5      5      [        S5      :X  d   e[        [        S 5        [        [        S 5        g )Nr   r   T)daggerc                      [        S5      $ r(   )r   r#   r$   r%   <lambda>#test_pauli_states.<locals>.<lambda>       y|r$   c                      [        S5      $ r(   )r   r#   r$   r%   rA   rB      rC   r$   )r   r   r   r
   r   r   r   
ValueError)r   r    updowns       r%   test_pauli_statesrH   m   s/   Xvx	1BQ<D"'?d"""")""""'?b   ")$&&&	1BQ<D"'$'4///$)D)R///"'$'2---$)D)tV333)A,9Q<///)A,9Q<///
:+,
:+,r$   c                      [         R                  SL d   e[        R                  SL d   e[        R                  SL d   e[        R                  SL d   eg )NFT)r!   use_namesm1r   r,   r#   r$   r%   test_use_namerL      sJ    ;;%<<4;;%<<4r$   c                     [        [        5      S:X  d   e[        [        5      S:X  d   e[        [        5      S:X  d   e[        [        5      S:X  d   e[        [
        5      S:X  d   e[        [        5      S:X  d   e[        [        5      S:X  d   e[        [        5      S:X  d   e[        [        5      S	:X  d   e[        [        5      S
:X  d   eg )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!   rK   r"   sp1r#   r$   r%   test_printingrO      s    9%%%:,,,,9%%%:,,,,9%%%:,,,,9%%%:,,,,9%%%:,,,,r$   c                  ~   [        [        5      [        SS/SS//5      :X  d   e[        [        5      [        S[        * /[        S//5      :X  d   e[        [
        5      [        SS/SS//5      :X  d   e[        [        5      [        SS/SS//5      :X  d   e[        [        5      [        SS/SS//5      :X  d   eg )Nr   r   )r   r   r   r   r   r    r!   r"   r#   r$   r%   test_representrR      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"   rK   rN   r   r   r&   r*   r2   r4   r6   r8   r;   r=   rH   rL   rO   rR   r#   r$   r%   <module>rZ      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$   