
    sgS
                         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 Zd Zd	 Zd
 Zd Zd Zd Zy)    )HilbertSpaceComplexSpaceL2	FockSpaceTensorProductHilbertSpaceDirectSumHilbertSpaceTensorPowerHilbertSpace)oo)Symbol)srepr)sstr)Intervalc                  |    t               } t        | t               sJ t        |       dk(  sJ t        |       dk(  sJ y )NHzHilbertSpace())r   
isinstancer   r   )hss    [/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/quantum/tests/test_hilbert.pytest_hilbert_spacer      s<    	Bb,'''8s??9((((    c                     t        d      } t        | t               sJ | j                  dk(  sJ t        |       dk(  sJ t	        |       dk(  sJ t        d      }t        |      }t        |t               sJ |j                  |k(  sJ t        |      dk(  sJ t	        |      dk(  sJ |j                  |d      t        d      k(  sJ y )N   zC(2)zComplexSpace(Integer(2))nzC(n)zComplexSpace(Symbol('n')))r   r   	dimensionr   r   r   subs)c1r   c2s      r   test_complex_spacer      s    	aBb,'''<<18v92222sA	aBb,'''<<18v93333771a=LO+++r   c                     t        t        t         d            } t        | t               sJ | j                  t        u sJ | j
                  t        t         d      k(  sJ t        dd      }t        dd      }t        t        ||            }|j                  t        u sJ |j
                  t        ||      k(  sJ |j                  |d      t        t        d|            k(  sJ y )N   xT)realy)r   r   r
   r   r   intervalr   r   )b1r    r"   b2s       r   test_L2r'   $   s    	HbS!	Bb"<<2;;(B3****sAsA	HQN	B<<2;;(1a.(((771b>RQ0000r   c                      t               } t               }t        | t               sJ | j                  t        u sJ | |k(  sJ y )N)r   r   r   r
   )f1f2s     r   test_fock_spacer+   2   s=    	B	Bb)$$$<<28O8r   c                     t        d      } t        d      }t        |       }||z  }t        |t              sJ |j                  d| z  k(  sJ |j
                  ||fk(  sJ ||z  }t        |t              sJ |j                  |k(  sJ |j                  dk(  sJ |j                  | dz  k(  sJ t               }||z  |z  }|j                  t        u sJ y Nr   r   )r   r   r   r   r   spacesr	   baseexpr   r
   r   hs1hs2hfs        r   test_tensor_productr6   :   s    sA
q/C
q/CCAa2333;;!A#88Sz!!!CAa011166S==55A::;;!Q$AC	A;;"r   c                  t   t        d      } t        d      }t        |       }|dz  }t        |t              sJ |j                  |k(  sJ |j
                  dk(  sJ |j                  dk(  sJ |dz  }t        |t              sJ |j                  |k(  sJ |j
                  dk(  sJ |j                  | dz  k(  sJ y )Nr   r         )r   r   r   r	   r/   r0   r   )r   r2   r3   r4   s       r   test_tensor_powerr:   O   s    sA
q/C
q/CQAa011166S==55A::;;!QAa011166S==55A::;;!Q$r   c                  6   t        d      } t        d      }t        |       }||z   }t        |t              sJ |j                  d| z   k(  sJ |j
                  ||fk(  sJ t               }||z   |z   }|j                  t        u sJ |j
                  |||fk(  sJ y r-   )r   r   r   r   r   r.   r   r
   r1   s        r   test_direct_sumr<   a   s    sA
q/C
q/Cc	Aa.///;;!a%88Sz!!!Aa#A;;"88Q}$$$r   N)sympy.physics.quantum.hilbertr   r   r   r   r   r   r	   sympy.core.numbersr
   sympy.core.symbolr   sympy.printing.reprr   sympy.printing.strr   sympy.sets.setsr   r   r   r'   r+   r6   r:   r<    r   r   <module>rD      sH     
 " $ % # $), 1*$%r   