a
    hP                     @   s\   d dl Z dd ZG dd dZdd Zdd	 Zd dlZed
krXG dd dejZe	  dS )    Nc                 C   sB   t | t dkr| S t | t dkr(| S | |  kr:| jS | S d S )Nr   g        )type	conjugatereal)x r   R/homepages/25/d321765456/htdocs/pub_http_internet/grad-school/src/sack/pauli_tm.py	sanitize1   s    r   c                   @   st   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd ZdS )pauli_tc                 C   s4   t | j| _t | j| _t | j| _t | j| _d S N)r   abcdselfr   r   r   sanitize&   s    zpauli_t.sanitizec                 C   s$   || _ || _|| _|| _|   d S r
   )r   r   r   r   r   )r   r   r   r   r   r   r   r   __init__,   s
    zpauli_t.__init__c                 C   sr   | j |j  | j|j  }| j |j | j|j  }| j|j  | j|j  }| j|j | j|j  }t||||}|S r
   )r   r   r   r   r	   )XYZzaZzbZzcZzdZr   r   r   __mul__3   s    zpauli_t.__mul__c                 C   sD   | j |j krdS | j|jkr dS | j|jkr0dS | j|jkr@dS dS Nr      r   r   r   r   r   r   r   r   r   __eq__=   s
    zpauli_t.__eq__c                 C   s
   | |k S r
   r   r   r   r   r   __ne__D   s    zpauli_t.__ne__c                 C   sD   | j |j k rdS | j|jk r dS | j|jk r0dS | j|jk r@dS dS r   r   r   r   r   r   __lt__G   s
    zpauli_t.__lt__c                 C   sD   | j |j krdS | j|jkr dS | j|jkr0dS | j|jkr@dS dS r   r   r   r   r   r   __le__M   s
    zpauli_t.__le__c                 C   sD   | j |j krdS | j|jkr dS | j|jkr0dS | j|jkr@dS dS r   r   r   r   r   r   __gt__S   s
    zpauli_t.__gt__c                 C   sD   | j |j krdS | j|jkr dS | j|jkr0dS | j|jkr@dS dS r   r   r   r   r   r   __ge__Y   s
    zpauli_t.__ge__c                 C   sF   | j | j | j| j  }t| j| | j | | j | | j | }|S r
   )r   r   r   r   r	   )r   Zdetr   r   r   r   inv`   s    *zpauli_t.invc                 C   sp   |dkr|  dddd nR|dkr4|  dddd n8|dkrN|  dddd n|dkrh|  dddd	 ntd S )
NIr   r   sxsyy             y              ?sz)r   IOError)r   Zstringr   r   r   scanf   s    zpauli_t.scanc                 C   s4   t | jd t | j d t | j d t | j S )N/)strr   r   r   r   r   r   r   r   __str__s   s    zpauli_t.__str__c                 C   s   |   S r
   )r+   r   r   r   r   __repr__v   s    zpauli_t.__repr__N)__name__
__module____qualname__r   r   r   r   r   r   r   r   r    r!   r(   r+   r,   r   r   r   r   r	   $   s   
r	   c                 C   s   dS Nr   r   )params_stringr   r   r   params_from_stringy   s    r2   c                 C   s$   t |}tdddd}||  |S r0   )r2   r	   r(   )Zvalue_stringr1   Znot_usedobjr   r   r   from_string}   s    
r4   __main__c                   @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!S )"
test_casesc                 C   s   d S r
   r   r   r   r   r   test_sanitize1   s    ztest_cases.test_sanitize1c                 C   s   d S r
   r   r   r   r   r   test_sanitize   s    ztest_cases.test_sanitizec                 C   s   d S r
   r   r   r   r   r   test___init__   s    ztest_cases.test___init__c                 C   s   d S r
   r   r   r   r   r   test___mul__   s    ztest_cases.test___mul__c                 C   s   d S r
   r   r   r   r   r   test___eq__   s    ztest_cases.test___eq__c                 C   s   d S r
   r   r   r   r   r   test___ne__   s    ztest_cases.test___ne__c                 C   s   d S r
   r   r   r   r   r   test___lt__   s    ztest_cases.test___lt__c                 C   s   d S r
   r   r   r   r   r   test___le__   s    ztest_cases.test___le__c                 C   s   d S r
   r   r   r   r   r   test___gt__   s    ztest_cases.test___gt__c                 C   s   d S r
   r   r   r   r   r   test___ge__   s    ztest_cases.test___ge__c                 C   s   d S r
   r   r   r   r   r   test_inv   s    ztest_cases.test_invc                 C   s   d S r
   r   r   r   r   r   	test_scan   s    ztest_cases.test_scanc                 C   s   d S r
   r   r   r   r   r   test___str__   s    ztest_cases.test___str__c                 C   s   d S r
   r   r   r   r   r   test___repr__   s    ztest_cases.test___repr__c                 C   s   d S r
   r   r   r   r   r   test_params_from_string   s    z"test_cases.test_params_from_stringc                 C   s   d S r
   r   r   r   r   r   test_from_string   s    ztest_cases.test_from_stringN)r-   r.   r/   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   r   r   r   r   r6      s    r6   )
rer   r	   r2   r4   Zunittestr-   ZTestCaser6   mainr   r   r   r   <module>   s   U2