U
    	-eS
                     @   s   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 dd Zd	d
 Zdd Zdd Zdd Zdd Zdd ZdS )    )HilbertSpaceComplexSpaceL2	FockSpaceTensorProductHilbertSpaceDirectSumHilbertSpaceTensorPowerHilbertSpace)oo)Symbol)srepr)sstr)Intervalc                  C   s8   t  } t| t stt| dks$tt| dks4td S )NHzHilbertSpace())r   
isinstanceAssertionErrorr   r   )hs r   i/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/physics/quantum/tests/test_hilbert.pytest_hilbert_space   s    r   c                  C   s   t d} t| t st| jdks$tt| dks4tt| dksDttd}t |}t|t sbt|j|ksptt|dkstt|dkst||dt dkstd S )N   zC(2)zComplexSpace(Integer(2))nzC(n)zComplexSpace(Symbol('n')))r   r   r   	dimensionr   r   r
   subs)c1r   c2r   r   r   test_complex_space   s    r   c                  C   s   t tt d} t| t st| jtks,t| jtt dksBttddd}tddd}t t||}|jtksvt|jt||kst||dt td|kstd S )N   xT)realy)	r   r   r	   r   r   r   intervalr
   r   )b1r   r   b2r   r   r   test_L2$   s    r$   c                  C   s8   t  } t  }t| t st| jtks(t| |ks4td S )N)r   r   r   r   r	   )f1f2r   r   r   test_fock_space2   s
    r'   c                  C   s   t d} td}t| }|| }t|ts.t|jd|  ks@t|j||fksRt|| }t|tsht|j|ksvt|j	dkst|j| d kstt
 }|| | }|jtkstd S Nr   r   )r
   r   r   r   r   r   spacesr   baseexpr   r	   r   hs1hs2hfr   r   r   test_tensor_product:   s    r1   c                  C   s   t d} td}t| }|d }t|ts.t|j|ks<t|jdksJt|jdksXt|d }t|tsnt|j|ks|t|jdkst|j| d kstd S )Nr   r         )r
   r   r   r   r   r*   r+   r   )r   r-   r.   r/   r   r   r   test_tensor_powerO   s    r4   c                  C   s   t d} td}t| }|| }t|ts.t|jd|  ks@t|j||fksRtt }|| | }|jtksrt|j|||fkstd S r(   )	r
   r   r   r   r   r   r)   r   r	   r,   r   r   r   test_direct_suma   s    r5   N)Zsympy.physics.quantum.hilbertr   r   r   r   r   r   r   Zsympy.core.numbersr	   Zsympy.core.symbolr
   Zsympy.printing.reprr   Zsympy.printing.strr   Zsympy.sets.setsr   r   r   r$   r'   r1   r4   r5   r   r   r   r   <module>   s   $