Ë
    7^(hùÀ  ã                   óˆ  — 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
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z% d dl&m'Z' d dl(m)Z)m*Z* d dl+m,Z,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2m3Z3 d d	l4m5Z5 d d
l6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z< d dl=m>Z> d„ Z?d„ Z@d„ ZAd„ ZBd„ ZCd„ ZDd„ ZEd„ ZFd„ ZGd„ ZHd„ ZId„ ZJd„ ZKd„ ZLe;d„ «       ZMd„ ZNd„ ZOd„ ZPd „ ZQd!„ ZRd"„ ZSd#„ ZTd$„ ZUd%„ ZVd&„ ZWd'„ ZXd(„ ZYd)„ ZZd*„ Z[d+„ Z\d,„ Z]d-„ Z^d.„ Z_d/„ Z`d0„ Zad1„ Zbd2„ Zcd3„ Zdd4„ Zed5„ Zfd6„ Zgd7„ Zhd8„ Zid9„ Zjd:„ Zkd;„ Zld<„ Zmd=„ Znd>„ Zod?„ Zpd@„ ZqdA„ ZrdB„ ZsdC„ ZtdD„ ZuyE)Fé    )Ú	conjugate)Úexp)!ÚDaggerÚBdÚVarBosonicBasisÚBBraÚBÚBKetÚFixedBosonicBasisÚ
matrix_repÚapply_operatorsÚInnerProductÚ
CommutatorÚKroneckerDeltaÚAnnihilateBosonÚCreateBosonÚBosonicOperatorÚFÚFdÚFKetÚ
BosonStateÚCreateFermionÚAnnihilateFermionÚevaluate_deltasÚAntiSymmetricTensorÚcontractionÚNOÚwicksÚPermutationOperatorÚsimplify_index_permutationsÚ_sort_anticommuting_fermionsÚ_get_ordered_dummiesÚsubstitute_dummiesÚFockStateBosonKetÚ ContractionAppliesOnlyToFermions)ÚSum)ÚFunctionÚexpand)ÚIÚRational)ÚS)ÚDummyÚSymbolÚsymbols)Úsqrt)Úsrepr)Úsimplify)ÚslowÚraises)Úlatexc                  óÂ  — t        d«      \  } }}}t        t        d«      \  }}}}t        } || |«      j	                   || «       ||«      z  «       ||«        || «      z  k(  sJ ‚ || |«      j	                   || |«      «       ||| «       k(  sJ ‚ || |«      j	                   || «      «       || «      k(  sJ ‚ || «       ||«      z   ||«      z   ||«      z   ||«       || «      z   ||«      z   ||«      z  z
   || «       ||«      z   ||«      z   ||«      z  z
   ||«       || «      z   ||«      z   ||«      z  z   }	 || |«       |||«      g}
t        |	|
«       || |«       |||«      z   || «      z   ||«      z   ||«      z   ||«      z  k(  sJ ‚t         || |«      «      dk(  sJ ‚t        d«      \  }}t         |||«      dk(  «      sJ ‚y )Núp,q,r,sÚfghizP(pq)zp1,p2zP(p_{1}p_{2}))r.   Úmapr'   r   Úget_permutedr    r4   )ÚpÚqÚrÚsÚfÚgÚhÚiÚPÚexprÚpermsÚp1Úp2s                úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/physics/tests/test_secondquant.pyÚtest_PermutationOperatorrH      sô  € Ü˜Ó#�J€A€qˆ!ˆQÜ”X˜vÓ&�J€A€qˆ!ˆQÜ€AÙˆQ�‹7×Ñ¡ !£¡Q q£T¡	Ó*©q°«t¨e±A°a³D©jÒ8Ð8Ð8ÙˆQ�‹7×Ñ¡ ! Q£Ó(©Q¨q°!«W¨HÒ4Ð4Ð4ÙˆQ�‹7×Ñ¡ !£Ó%©¨1«Ò-Ð-Ð-Ùˆa‹D‘�1“‰I‘a˜“d‰N™1˜Q›4ÑÙ
ˆA‹$‰q�‹t‰)‘A�a“D‰.™˜1›Ñ
ñá
ˆA‹$‰q�‹t‰)‘A�a“D‰.™˜1›Ñ
ññ ˆA‹$‰q�‹t‰)‘A�a“D‰.™˜1›Ñ
ñ€Dñ ˆq�!‹W‘a˜˜1“gÐ€EÜ'¨¨eÓ4Ù	ˆ!ˆQ‹‘�!�Q“‰™˜!›Ñ™Q˜q›TÑ!¡! A£$Ñ&¡q¨£tÑ+ò,ð -ð ,ä‘�1�a“‹>˜WÒ$Ð$Ð$ä�WÓ�F€BˆÜ‘�2�b“˜_Ñ,Ô-Ð-Ñ-ó    c            	      ó”  — t        d«      \  } }}}t        dt        ¬«      \  }}}}t        t        d«      \  }}	t        }
 || |||«       ||| ||«      z
  }t        | |
| |«      g«       |
| |«       || |||«      z  k(  sJ ‚ |
| |«      t         || |||«      «      z  } || |||«       ||| ||«      z
  }t        | |
| |«      g«      }|t        |«      k(  sJ ‚ || |||«       ||| ||«      z
  }t        | |
| |«      g«      }|t        |«      k(  sJ ‚ || |||«       |	|| ||«      z
  }t        | |
| |«      g«      }||k(  sJ ‚y )Núa b c dúp q r s©ÚclsÚfg)r.   r,   r8   r'   r   r    r#   )ÚaÚbÚcÚdr:   r;   r<   r=   r>   r?   rB   rC   ÚexpectedÚresults                 rG   Ú$test_index_permutations_with_dummiesrV   /   s‡  € Ü˜Ó#�J€A€qˆ!ˆQÜ˜¬Ô.�J€A€qˆ!ˆQÜŒx˜Ó�D€A€qÜ€Añ ˆQ��1�a‹=™1˜Q  1 a›=Ñ(€DÜ&Ø‰q��A‹wˆióÙ˜a ›G¡A a¨¨A¨q£MÑ1ò2ð 2ð 2ñ ��A‹wÔ)©!¨A¨q°!°Q«-Ó8Ñ8€HáˆQ��1�a‹=™1˜Q  1 a›=Ñ(€DÜ(¨±°!°Q³¨yÓ9€FØÔ)¨&Ó1Ò1Ð1Ð1áˆQ��1�a‹=™1˜Q  1 a›=Ñ(€DÜ(¨±°!°Q³¨yÓ9€FØÔ)¨&Ó1Ò1Ð1Ð1ñ ˆQ��1�a‹=™1˜Q  1 a›=Ñ(€DÜ(¨±°!°Q³¨yÓ9€FØ�6Š>Ð‰>rI   c                  ó$  — t        d«      \  } }}}t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        dt        z  «      dt        z  k(  sJ ‚t        t        j                  t        z  dz  «      t        t        dd«      z  dz  k(  sJ ‚t        t        |g«      «      t        |g«      k(  sJ ‚t        t        d«      «      t        d«      k(  sJ ‚t        t        d«      «      t        d«      k(  sJ ‚t        t        |«      «      t        |«      k(  sJ ‚t        t        |«      «      t        |«      k(  sJ ‚t        t        d«      t        d«      z   «      t        d«      t        d«      z   k(  sJ ‚t        ||z  «      t        |«      t        |«      z  k(  sJ ‚t        t        |«      t        |«      z  «      t        |«      t        |«      z  k(  sJ ‚t        t        |«      d	z  «      t        t        |«      «      d	z  k(  sJ ‚t        d
«      t        t        d
«      «      k(  sJ ‚t        t        d
«      «      t        d
«      k(  sJ ‚t        t        dt        z  «      «      t        dt        z  «      k(  sJ ‚t        | «      t        | «      k(  sJ ‚y )Núi,j,n,mé   g      ð?é   éþÿÿÿg      @éÿÿÿÿr   é
   rP   )r.   r   r)   r+   ÚHalfr*   r
   r   r	   r   r-   r   r   )rA   ÚjÚnÚms       rG   Útest_daggerrb   K   s  € Ü˜Ó#�J€A€qˆ!ˆQÜ�!‹9˜Š>Ðˆ>Ü�#‹;˜#ÒÐÐÜ�!”A‘#‹;˜"œQ™$ÒÐÐÜ”!—&‘&œ‘(˜3‘,Ó¤1¤X¨b°!£_Ñ#4°SÑ#8Ò8Ð8Ð8Ü”$˜�s“)Ó¤ a S£	Ò)Ð)Ð)Ü”!�A“$‹<œ2˜a›5Ò Ð Ð Ü”"�Q“%‹=œA˜a›DÒ Ð Ð Ü”!�A“$‹<œ2˜a›5Ò Ð Ð Ü”"�Q“%‹=œA˜a›DÒ Ð Ð Ü”!�A“$œ˜1›‘+Ó¤" Q£%¬"¨Q«%¡-Ò/Ð/Ð/Ü�!�A‘#‹;œ& ›)¤F¨1£IÑ-Ò-Ð-Ð-Ü”!�A“$”q˜“t‘)Ó¤ 1£¤b¨£e¡Ò+Ð+Ð+Ü”!�A“$˜‘(Óœv¤a¨£d›|¨RÑ/Ò/Ð/Ð/Ü�#‹;œ&¤¨£Ó-Ò-Ð-Ð-Ü”&˜“+Ó¤&¨£+Ò-Ð-Ð-Ü”#�aœ!‘e“*Ó¤ R¬!¡V£Ò,Ð,Ð,Ü�!‹9œ	 !›Ò$Ð$Ñ$rI   c                  óÈ   — t        d«      \  } }t        | «      }|j                  | k(  sJ ‚|j                  sJ ‚t        d«      }|j                  dk(  sJ ‚|j                  rJ ‚y )Núi,jrY   )r.   r   ÚstateÚis_symbolic)rA   r_   Úos      rG   Útest_operatorrh   `   s^   € Ü�5‹>�D€A€qÜ˜Ó€AØ�7‰7�aŠ<Ðˆ<Ø�=Š=Ðˆ=Ü˜Ó€AØ�7‰7�aŠ<Ðˆ<Ø�}Š}ÐÐˆ}rI   c                  ó
  — t        d«      \  } }}}}t        | «      }t        |«      dk(  sJ ‚t        t        |«      «      dk(  sJ ‚t        |t        «      sJ ‚|j                  | |«      }|j                  t        «      |hk(  sJ ‚t        d«      }|j                  t        |g«      «      t        |dz   «      t        |dz   g«      z  k(  sJ ‚t        |«      }|j                  t        |g«      «      |t        |g«      z  k(  sJ ‚y )Nú
i,j,n,m,p1z{b^\dagger_{i}}z{b^\dagger_{p_{1}}}r   rY   )r.   r   r4   Ú
isinstancer   ÚsubsÚatomsr-   Úapply_operatorr
   r/   ©rA   r_   r`   ra   rE   rg   s         rG   Útest_createrp   j   sñ   € Ü˜\Ó*�N€A€qˆ!ˆQ�Ü
ˆ1‹€AÜ�‹8Ð)Ò)Ð)Ð)Ü”�B“‹=Ð2Ò2Ð2Ð2Ü�aœÔ%Ð%Ð%Ø	�‰ˆq�!‹€AØ�7‰7”6‹?˜q˜cÒ!Ð!Ð!Ü
ˆ1‹€AØ×ÑœD ! ›IÓ&¬$¨q°1©u«+´d¸AÀ¹E¸7³mÑ*CÒCÐCÐCÜ
ˆ1‹€AØ×ÑœD ! ›IÓ&¨!¬D°!°«I©+Ò5Ð5Ñ5rI   c                  ó  — t        d«      \  } }}}}t        | «      }t        |«      dk(  sJ ‚t        t        |«      «      dk(  sJ ‚t        |t        «      sJ ‚|j                  | |«      }|j                  t        «      |hk(  sJ ‚t        d«      }|j                  t        |g«      «      t        |«      t        |dz
  g«      z  k(  sJ ‚t        |«      }|j                  t        |g«      «      |t        |g«      z  k(  sJ ‚y )Nrj   zb_{i}z	b_{p_{1}}r   rY   )r.   r	   r4   rk   r   rl   rm   r-   rn   r
   r/   ro   s         rG   Útest_annihilaterr   x   së   € Ü˜\Ó*�N€A€qˆ!ˆQ�Ü	ˆ!‹€AÜ�‹8�wÒÐÐÜ”�2“‹<˜;Ò&Ð&Ð&Ü�aœÔ)Ð)Ð)Ø	�‰ˆq�!‹€AØ�7‰7”6‹?˜q˜cÒ!Ð!Ð!Ü	ˆ!‹€AØ×ÑœD ! ›IÓ&¬$¨q«'´$¸¸A¹°w³-Ñ*?Ò?Ð?Ð?Ü	ˆ!‹€AØ×ÑœD ! ›IÓ&¨!¬D°!°«I©+Ò5Ð5Ñ5rI   c                  ó¢  — t        d«      \  } }}}t        g d¢«      }t        |«      dk(  sJ ‚|j                  d   t	        t        d«      «      k(  sJ ‚|j                  d«      t        g d¢«      k(  sJ ‚|j                  d«      t        g d¢«      k(  sJ ‚t        d«      D ]'  } |j                  | «      j                  | «      |k(  rŒ'J ‚ |j                  d«      dk(  sJ ‚t        d«      D ]  } ||    | k(  rŒJ ‚ t        ||g«      }|j                  d«      t        |dz
  |g«      k(  sJ ‚|j                  d«      t        |dz   |g«      k(  sJ ‚y )	NrX   )r   rY   rZ   é   é   é   r   )rY   rY   rZ   rt   ru   ru   )r   rY   rZ   rt   rt   rY   )r.   r   ÚlenÚargsÚtupleÚrangeÚupÚdown)rA   r_   r`   ra   r=   s        rG   Útest_basic_stater}   †   s>  € Ü˜Ó#�J€A€qˆ!ˆQÜ’?Ó#€AÜˆq‹6�QŠ;Ðˆ;Ø�6‰6�!‰9œœe A›h›Ò'Ð'Ð'Ø�4‰4�‹7”j¢Ó1Ò1Ð1Ð1Ø�6‰6�!‹9œ
¢?Ó3Ò3Ð3Ð3Ü�1‹Xò $ˆØ�t‰t�A‹w�|‰|˜A‹ !Ó#Ð#Ð#ð$à�6‰6�!‹9˜Š>Ðˆ>Ü�1‹Xò ˆØ�‰t�q‹yÐˆyðä�A�q�6Ó€AØ�6‰6�!‹9œ
 A¨¡E¨1 :Ó.Ò.Ð.Ð.Ø�4‰4�‹7”j ! a¡%¨ Ó,Ò,Ð,Ñ,rI   c                  ó$  — t        d«      } t        d«      t        | g«      z  }t        |«      t	        | «      t        | dz
  g«      z  k(  sJ ‚t        d«      t        | g«      z  }t        |«      t	        | dz   «      t        | dz   g«      z  k(  sJ ‚y )Nr`   r   rY   )r.   r	   r
   r   r/   r   )r`   Úes     rG   Útest_basic_applyr€   —   s�   € Ü�‹€AÜ	ˆ!‹ŒT�1�#‹Y‰€AÜ˜1Ó¤ a£¬¨q°1©u¨g«Ñ!6Ò6Ð6Ð6Ü
ˆ1‹Œd�A�3‹i‰€AÜ˜1Ó¤ a¨!¡e£¬T°1°q±5°'«]Ñ!:Ò:Ð:Ñ:rI   c                  óJ  — t        d«      \  } }t        d«      t        d«      z  t        d«      z  t        d«      z  }t        |t	        | |g«      z  «      }t        | «      t        |dz   «      z  d| z   z  t	        d| z   d|z   g«      z  }t        |«      t        |«      k(  sJ ‚y )Nún,mr   rY   r\   )r.   r   r	   r   r
   r/   r(   )r`   ra   rg   r   Úanswers        rG   Útest_complex_applyr„   Ÿ   s“   € Ü�5‹>�D€A€qÜ
ˆ1‹Œa�‹d‰
”2�a“5Ñœ˜1›Ñ€AÜ˜œ$  1˜v›,™Ó'€AÜ�!‹W”T˜!˜a™%“[Ñ  " q¡&Ñ)¬$°°Q±¸¸A¹¨Ó*?Ñ?€FÜ�!‹9œ˜v›Ò&Ð&Ñ&rI   c                  ó    — t        d«      } t        d«      t        d«      z  }t        |t	        | g«      z  «      }|| t	        | g«      z  k(  sJ ‚y )Nr`   r   )r.   r   r	   r   r
   )r`   rg   r   s      rG   Útest_number_operatorr†   §   sH   € Ü�‹€AÜ
ˆ1‹Œa�‹d‰
€AÜ˜œ$ ˜s›)™Ó$€AØ�”$˜�s“)‘ÒÐÑrI   c                  ó2  — t        d«      \  } }}}t        dg«      }t        dg«      }t        |t	        |«      «      dk(  sJ ‚t        ||«      dk(  sJ ‚t        | |g«      }t        ||g«      }t        ||«      }|t        | |«      t        ||«      z  k(  sJ ‚y )Núi,j,k,lr   rY   )r.   r   r
   r   r   r   )rA   r_   ÚkÚlÚs1Ús2r<   s          rG   Útest_inner_productr�   ®   sŸ   € Ü˜Ó#�J€A€qˆ!ˆQÜ	ˆqˆc‹€BÜ	ˆqˆc‹€BÜ˜œF 2›JÓ'¨1Ò,Ð,Ð,Ü˜˜BÓ 1Ò$Ð$Ð$Ü	ˆq�!ˆf‹€BÜ	ˆq�!ˆf‹€BÜ�R˜Ó€AØ”˜q !Ó$¤^°A°qÓ%9Ñ9Ò9Ð9Ñ9rI   c                  óÈ   — t        d«      \  } }t        | g«      }t        |g«      }t        d«      }t	        ||z  |z  «      }|t        |«      t        | |dz
  «      z  k(  sJ ‚y )Nr‚   r   rY   )r.   r   r
   r	   r   r/   r   )r`   ra   r‹   rŒ   rg   r   s         rG   Útest_symbolic_matrix_elementsr�   º   sb   € Ü�5‹>�D€A€qÜ	ˆqˆc‹€BÜ	ˆqˆc‹€BÜ	ˆ!‹€AÜ˜˜1™˜R™Ó €AØ”�Q“œ q¨!¨a©%Ó0Ñ0Ò0Ð0Ñ0rI   c                  ó"  — t        d«      } t        d«      }t        || «      }t        d«      D ]  }|||dz   f   t	        |dz   «      k(  rŒJ ‚ t        d«      }t        || «      }t        d«      D ]  }||dz   |f   t	        |dz   «      k(  rŒJ ‚ y )Nrv   r   ru   rY   )r   r	   r   rz   r/   r   )rQ   rg   ra   rA   s       rG   Útest_matrix_elementsr‘   Ã   s    € Ü˜Ó€AÜ	ˆ!‹€AÜ�1�aÓ€AÜ�1‹Xò *ˆØ��A˜‘E�‰{œd 1 q¡5›kÓ)Ð)Ð)ð*ä
ˆ1‹€AÜ�1�aÓ€AÜ�1‹Xò *ˆØ��Q‘˜�‰{œd 1 q¡5›kÓ)Ð)Ð)ñ*rI   c                  ó<  — t        dd«      } | j                  d«      }|t        d«      k(  sJ ‚| j                  |«      dk(  sJ ‚| j                  d«      | d   k(  sJ ‚t	        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚y )NrZ   rY   )rY   rY   rt   z9[FockState((2, 0)), FockState((1, 1)), FockState((0, 2))])r   re   r$   Úindexrw   ÚstrÚreprr0   )rQ   re   s     rG   Útest_fixed_bosonic_basisr–   Ï   s¨   € Ü˜!˜QÓ€Aà�G‰G�A‹J€EØÔ% fÓ-Ò-Ð-Ð-Ø�7‰7�5‹>˜QÒÐÐØ�7‰7�1‹:˜˜1™ÒÐÐÜˆq‹6�QŠ;Ðˆ;Üˆq‹6ÐPÒPÐPÐPÜ�‹7ÐQÒQÐQÐQÜ�‹8ÐRÒRÐRÑRrI   c                  ó@  — t        d«      \  } }t        | «      t        | «      z  | t        j                  z   z  }t        || ddf«      }|j                  d¬«      }t        dd«      }t        ||«      }g d¢}t        t        |«      «      D ]  }||   |||f   k(  rŒJ ‚ y )	Nr‚   r   rv   F)ÚdeeprZ   é   )rY   rZ   rt   rt   ru   rv   ru   rv   r™   é   rv   r™   rš   é   é	   r™   rš   r›   rœ   r]   é   )r.   r   r	   r+   r^   r&   Údoitr   r   rz   rw   )r`   ra   Úh_nÚHrg   rQ   ÚdiagrA   s           rG   Útest_shor¢   Ü   s¡   € ä�5‹>�D€A€qÜ
ˆQ‹%”�!“‰*�aœ!Ÿ&™&‘jÑ
!€CÜˆC�!�Q˜�Ó€AØ	�‰�EˆÓ€AÜ˜!˜QÓ€AÜ�1�aÓ€Aò M€DÜ”3�t“9Óò "ˆØ�A‰w˜!˜A˜q˜D™'Ó!Ð!Ð!ñ"rI   c            	      óð  — t        dd¬«      \  } }t        t        d«      t        d«      «      }|dk(  sJ ‚t        t        d«      t        d«      «      }|dk(  sJ ‚t        t        | «      t        d«      «      }|t	        | d«      k(  sJ ‚t        t        d«      t        d«      «      }|dk(  sJ ‚t        t        d«      t        d«      «      }t        t        |t        | g«      z  «      «      }|t        | g«      k(  sJ ‚t        t        d«      t        d«      «      }t        t        |t        | |g«      z  «      «      }|dk(  sJ ‚t        t        |«      t        |«      «      }|ddt        t        |«      t        |«      z  «      z  z
  k(  sJ ‚t        t        |«      t        |«      «      }|j                  «       ddt        t        |«      t        |«      z  «      z  z   k(  sJ ‚t        }t        dd	¬
«      \  }}} | |||«      |«      dk7  sJ ‚ | |||«      |«      dk7  sJ ‚ || |||«      «      dk7  sJ ‚t        dd¬«      \  }}	}
}t        dd¬«      \  }}}}t        d«      \  }}}}t        } |t        |«      t        |«      «      dt        t        |«      t        |«      z  «      z  k(  sJ ‚ |t        |	«      t        t        |«      t        |«      z  «      «      j                  d¬«       ||	|«       t        |«      z  k(  sJ ‚ |t        |«      t        |«      z  t        |«      t        |	«      z  «      j                  d¬«      dk(  sJ ‚t        t        |«      t        |«      «      }t        j                  ||«      dk(  sJ ‚t        t        |«      t        |«      z  t        |«      t        |	«      z  «      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t!        |«      dk(  sJ ‚y )Nr‚   T©Úabove_fermir   rY   r\   rZ   zX,Y,ZF)Úcommutativerˆ   ©Úbelow_fermiúa,b,c,dr6   r[   )r   z8\left[{a^\dagger_{a}} a_{i},{a^\dagger_{b}} a_{j}\right]zWCommutator(CreateFermion(a)*AnnihilateFermion(i),CreateFermion(b)*AnnihilateFermion(j))zM[CreateFermion(a)*AnnihilateFermion(i),CreateFermion(b)*AnnihilateFermion(j)])r.   r   r	   r   r   r1   r   r
   r   r   r   r(   rž   Úevalr4   r•   r”   )r`   ra   rR   r   ÚCÚXÚYÚZrA   r_   r‰   rŠ   rP   rQ   rS   r:   r;   r<   r=   ÚDÚc1s                        rG   Útest_commutationr±   ë   sp  € Ü�5 dÔ+�D€A€qÜ”1�Q“4œ˜A›Ó€AØ�Š6€Mˆ6Ü”2�a“5œ!˜A›$Ó€AØ�Š7€Nˆ7Ü”1�Q“4œ˜A›Ó€AØ”˜q !Ó$Ò$Ð$Ð$Ü”1�Q“4œ˜1›Ó€AØ�Š6€Mˆ6Ü”1�Q“4œ˜A›Ó€AÜ” ¤4¨¨£9¡Ó-Ó.€AØ”�a�S“	Š>Ðˆ>Ü”1�Q“4œ˜1›Ó€AÜ” ¤4¨¨A¨£<¡Ó0Ó1€AØ�Š6€Mˆ6ä”1�Q“4œ˜A›Ó€AØ��Q”rœ"˜Q›%¤ !£™*“~Ñ%Ñ%Ò%Ð%Ð%Ü”2�a“5œ!˜A›$Ó€AØ�8‰8‹:˜˜a¤¤2 a£5¬¨1«¡:£Ñ.Ñ.Ò.Ð.Ð.ä€AÜ�g¨5Ô1�G€A€qˆ!Ù‰Qˆq�!‹W�a‹=˜AÒÐÐÙ‰Qˆq�!‹W�a‹=˜AÒÐÐÙˆQ‘�!�Q“‹=˜AÒÐÐä˜°Ô5�J€A€qˆ!ˆQÜ˜°Ô5�J€A€qˆ!ˆQÜ˜Ó#�J€A€qˆ!ˆQÜ€AáŒR�‹U”A�a“D‹>˜R¤¤1 Q£4¬¨1«¡:£Ñ.Ò.Ð.Ð.ÙŒR�‹U”B”r˜!“uœQ˜q›T‘z“NÓ#×(Ñ(¨tÐ(Ó4¹¸1¸a»¸ÄÀAÃ¹ÒFÐFÐFÙŒR�‹U”1�Q“4‰Zœ˜A›œq ›t™Ó$×)Ñ)°Ð)Ó5¸Ò:Ð:Ð:ä	”A�a“Dœ"˜Q›%Ó	 €BÜ�?‰?˜2˜rÓ" aÒ'Ð'Ð'Ü”2�a“5œ˜1›‘:œb ›e¤A a£D™jÓ)€AÜ�‹8ÐRÒRÐRÐRÜ�‹7ÐoÒoÐoÐoÜˆq‹6ÐdÒdÐdÑdrI   c                  ó(  — t        d«      \  } }}}t        | «      }t        |t        «      sJ ‚|j	                  | |«      }|j                  t        «      |hk(  sJ ‚t        d«      }|j                  t        |g«      «      t        d|g«      k(  sJ ‚|j                  t        |g«      «      t        |dg«       k(  sJ ‚t        |«      }|j                  t        g «      «      t        |g«      k(  sJ ‚t        g d¬«      }|t        g d¬«      k(  sJ ‚t        dd¬«      \  } }}}t        dd¬	«      \  }}	}
}t        d
«      \  }}}}t        d«      }t        | «      j                  t        | ||gd«      «      t        ||gd«      k(  sJ ‚t        |«      j                  t        | |	|gd«      «      t        || |	|gd«      k(  sJ ‚t        t        |«      «      j                  |«      |t        |«      z  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        || gd«      «      dk(  sJ ‚t        t        || |	|gd«      «      dk(  sJ ‚y )NrX   rY   ru   )Úfermi_levelrˆ   Tr§   r©   r¤   r6   rE   zCreateFermion(p)zCreateFermion(Symbol('p'))z{a^\dagger_{p}}z{a^\dagger_{p_{1}}}z(\left|\left( a, \  i\right)\right\ranglerZ   z4\left|\left( a, \  b, \  i, \  j\right)\right\rangle)r.   r   rk   r   rl   rm   r-   rn   r   r   r	   r   r•   r0   r4   )rA   r_   r`   ra   rg   Úvacuumr‰   rŠ   rP   rQ   rR   rS   r:   r;   r<   r=   rE   s                    rG   Útest_create_frµ     sq  € Ü˜Ó#�J€A€qˆ!ˆQÜ
ˆ1‹€AÜ�aœÔ'Ð'Ð'Ø	�‰ˆq�!‹€AØ�7‰7”6‹?˜q˜cÒ!Ð!Ð!Ü
ˆ1‹€AØ×ÑœD ! ›IÓ&¬$°°1¨v«,Ò6Ð6Ð6Ø×ÑœD ! ›IÓ&¬4°°A°«<¨-Ò7Ð7Ð7Ü
ˆ1‹€AØ×ÑœD ›HÓ%¬¨q¨c«Ò2Ð2Ð2ä�" !Ô$€FØ”T˜"¨!Ô,Ò,Ð,Ð,ä˜°Ô5�J€A€qˆ!ˆQÜ˜°Ô5�J€A€qˆ!ˆQÜ˜Ó#�J€A€qˆ!ˆQÜ	�‹€Bäˆa‹5×Ñ¤ a¨¨A Y°Ó 2Ó3´t¸QÀ¸FÀA³ÒFÐFÐFÜˆa‹5×Ñ¤ a¨¨A Y°Ó 2Ó3´t¸QÀÀ1Àa¸LÈ!Ó7LÒLÐLÐLä”!�A“$‹<×&Ñ& qÓ)¨Q¬{¸1«~Ñ-=Ò=Ð=Ð=Ü”�1“‹;Ð,Ò,Ð,Ð,Ü”�A“‹<Ð7Ò7Ð7Ð7Ü”�A“‹<Ð-Ò-Ð-Ð-Ü”�B“‹=Ð2Ò2Ð2Ð2Ü”�q˜�e˜Q“Ó Ð$OÒOÐOÐOÜ”�q˜˜1˜Q�i Ó#Ó$Ð(_Ò_Ð_Ñ_rI   c                  óØ  — t        d«      \  } }}}t        | «      }t        |t        «      sJ ‚|j	                  | |«      }|j                  t        «      |hk(  sJ ‚t        d«      }|j                  t        d|g«      «      t        |g«      k(  sJ ‚|j                  t        |dg«      «      t        |g«       k(  sJ ‚t        |«      }|j                  t        |g«      «      t        g «      k(  sJ ‚t        dd¬«      \  } }}}t        dd¬«      \  }}}	}
t        d«      \  }}}}t        d	«      }t        | «      j                  t        | ||gd
«      «      dk(  sJ ‚t        |«      j                  t        | ||gd
«      «      dk(  sJ ‚t        |«      j                  t        | ||gd«      «      dk(  sJ ‚t        |«      j                  t        | ||gd
«      «      t        || ||g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 )NrX   rY   rˆ   Tr§   r©   r¤   r6   rE   ru   r   rt   zf(p)zAnnihilateFermion(p)zAnnihilateFermion(Symbol('p'))za_{p}z	a_{p_{1}})r.   r   rk   r   rl   rm   r-   rn   r   r”   r•   r0   r4   )rA   r_   r`   ra   rg   r‰   rŠ   rP   rQ   rR   rS   r:   r;   r<   r=   rE   s                   rG   Útest_annihilate_fr·   8  sD  € Ü˜Ó#�J€A€qˆ!ˆQÜ	ˆ!‹€AÜ�aÔ*Ô+Ð+Ð+Ø	�‰ˆq�!‹€AØ�7‰7”6‹?˜q˜cÒ!Ð!Ð!Ü	ˆ!‹€AØ×ÑœD ! Q ›LÓ)¬T°1°#«YÒ6Ð6Ð6Ø×ÑœD ! Q ›LÓ)¬d°A°3«i¨ZÒ7Ð7Ð7Ü	ˆ!‹€AØ×ÑœD ! ›IÓ&¬$¨r«(Ò2Ð2Ð2ä˜°Ô5�J€A€qˆ!ˆQÜ˜°Ô5�J€A€qˆ!ˆQÜ˜Ó#�J€A€qˆ!ˆQÜ	�‹€BäˆQ‹4×Ñœt Q¨¨1 I¨qÓ1Ó2°aÒ7Ð7Ð7ÜˆQ‹4×Ñœt Q¨¨1 I¨qÓ1Ó2°aÒ7Ð7Ð7ÜˆQ‹4×Ñœt Q¨¨1 I¨qÓ1Ó2°aÒ7Ð7Ð7ÜˆQ‹4×Ñœt Q¨¨1 I¨qÓ1Ó2´d¸A¸qÀ!ÀQ¸<ÈÓ6KÒKÐKÐKÜŒq�‹t‹9˜ÒÐÐÜ”�!“‹:Ð/Ò/Ð/Ð/Ü”�1“‹;Ð:Ò:Ð:Ð:Ü”�1“‹;˜'Ò!Ð!Ð!Ü”�2“‹<˜;Ò&Ð&Ñ&rI   c                  ó¶  — t        d«      \  } }}}t        | «      }t        |t        «      sJ ‚|j	                  | |«      }|j                  t        «      |hk(  sJ ‚t        d«      }|j                  t        |g«      «      t        |dz   «      t        |dz   g«      z  k(  sJ ‚t        |«      }|j                  t        |g«      «      |t        |g«      z  k(  sJ ‚y )NrX   r   rY   )
r.   r   rk   r   rl   rm   r-   rn   r
   r/   ©rA   r_   r`   ra   rg   s        rG   Útest_create_brº   T  sÅ   € Ü˜Ó#�J€A€qˆ!ˆQÜ
ˆ1‹€AÜ�aœÔ%Ð%Ð%Ø	�‰ˆq�!‹€AØ�7‰7”6‹?˜q˜cÒ!Ð!Ð!Ü
ˆ1‹€AØ×ÑœD ! ›IÓ&¬$¨q°1©u«+´d¸AÀ¹E¸7³mÑ*CÒCÐCÐCÜ
ˆ1‹€AØ×ÑœD ! ›IÓ&¨!¬D°!°«I©+Ò5Ð5Ñ5rI   c                  óÎ   — t        d«      \  } }}}t        | «      }t        |t        «      sJ ‚|j	                  | |«      }|j                  t        «      |hk(  sJ ‚t        d«      }y )NrX   r   )r.   r	   rk   r   rl   rm   r-   r¹   s        rG   Útest_annihilate_br¼   `  s]   € Ü˜Ó#�J€A€qˆ!ˆQÜ	ˆ!‹€AÜ�aœÔ)Ð)Ð)Ø	�‰ˆq�!‹€AØ�7‰7”6‹?˜q˜cÒ!Ð!Ð!Ü	ˆ!‹�ArI   c            	      ó  — t        dd¬«      \  } }}}t        | «      t        |«      z  }t        |«      t	        t        | «      t        |«      z  «      t        | |«      z   k(  sJ ‚t        | «      t        |«      z  }t        |«      t	        t        | «      t        |«      z  «      k(  sJ ‚t        | «      t        |«      z  t        |«      z  t        |«      z  }t        |«      }t	        t        | |«      t        ||«      z  t        | |«      t        |«      z  t        |«      z  z   t        ||«      t        | «      z  t        |«      z  z   t        | |«      t        |«      z  t        |«      z  z
  t        | «      t        |«      z  t        |«      z  t        |«      z  z
  «      }||k(  sJ ‚| |z  |z  j                  «       t        | |z  |z  «      k(  sJ ‚|| z  |z  dz  j                  «       t        || z  |z  dz  «      k(  sJ ‚t        ddt        ¬«      \  }}}	}
t        ddt        ¬«      \  }}}}t        d	t        ¬
«      \  } }}}t        t        |«      t	        t        |«      t        |«      z  «      z  t        |«      z  «      t	        t        |«      t        |«      z  t        |«      z  t        |«      z  «      t        ||«      t	        t        |«      t        |«      z  «      z  z   k(  sJ ‚t        t        |«      t	        t        |«      t        |«      z  t        |	«      z  «      z  t        |«      z  «      t	        t        |«      t        |«      z  t        |«      z  t        |	«      z  t        |«      z  «      t        ||«      t	        t        |«      t        |«      z  t        |	«      z  «      z  z
  k(  sJ ‚t        t        |«      t	        t        |«      t        |	«      z  «      z  t        |
«      z  «      }|t        ||	«       t	        t        |«      t        |
«      z  «      z  t        ||
«      t	        t        |«      t        |	«      z  «      z  z
  t        ||	«      t        ||
«      z  z
  t        ||
«      t	        t        |«      t        |	«      z  «      z  z   t	        t        |«      t        |«      z  t        |	«      z  t        |
«      z  «      z   k(  sJ ‚t        t        |«      t	        t        |«      t        |«      z  «      z  t        |«      z  «      }|t        ||«       t	        t        |«      t        |«      z  «      z  t        ||«      t	        t        |«      t        |«      z  «      z  z
  t        ||«      t        ||«      z  z
  t        ||«      t	        t        |«      t        |«      z  «      z  z   t	        t        |«      t        |«      z  t        |«      z  t        |«      z  «      z   k(  sJ ‚y )Nr6   Tr¤   rZ   úi j k l©r¨   rN   rK   ©r¥   rN   rL   rM   )
r.   r   r   r   r   r   r   r   r(   r,   )r:   r;   r<   r=   r”   ÚnstrÚfasitrA   r_   r‰   rŠ   rP   rQ   rR   rS   rC   s                   rG   Ú
test_wicksrÃ   i  s.  € Ü˜°Ô5�J€A€qˆ!ˆQô ˆA‹$Œr�!‹u‰*€CÜ�‹:œœA˜a›D¤ A£™J›¬.¸¸AÓ*>Ñ>Ò>Ð>Ð>Ü
ˆQ‹%”�!“‰*€CÜ�‹:œœB˜q›E¤! A£$™J›Ò'Ð'Ð'ä
ˆA‹$Œr�!‹u‰*”Q�q“T‰/œ"˜Q›%Ñ
€CÜ�‹:€DÜÜ�q˜!Óœ^¨A¨qÓ1Ñ1Ü
˜˜AÓ
Ô0°Ó3Ñ
3´MÀ!Ó4DÑ
Dñ	Eä
˜˜AÓ
Ô0°Ó3Ñ
3´MÀ!Ó4DÑ
Dñ	Eô ˜˜AÓ
Ô0°Ó3Ñ
3´MÀ!Ó4DÑ
Dñ	Eô ˜AÓ
Ô0°Ó3Ñ
3´MÀ!Ó4DÑ
DÄ]ÐSTÓEUÑ
Uñ		VóW€Eð �5Š=Ðˆ=àˆa‰C�‰H×ÑÓ¤%¨¨!©¨C©£.Ò0Ð0Ð0Ø�‰F�1‰H�Q‰J×ÑÓ ¤E¨#¨a©%°©'°!©)Ó$4Ò4Ð4Ð4ô ˜°¼%Ô@�J€A€qˆ!ˆQÜ˜°¼%Ô@�J€A€qˆ!ˆQÜ˜¬Ô.�J€A€qˆ!ˆQä”!�A“$”rœ!˜A›$œq ›t™)“}Ñ$¤R¨£UÑ*Ó+ÜŒq�‹t”A�a“D‰yœ˜1›‰~œb ›eÑ#Ó$Ü˜1˜aÓ ¤¤A a£D¬¨1«¡I£Ñ.ñ/ò/ð 0ð /ô ”!�A“$”rœ!˜A›$œq ›t™)¤A a£D™.Ó)Ñ)¬"¨Q«%Ñ/Ó0ÜŒq�‹t”A�a“D‰yœ˜1›‰~œa ›dÑ"¤2 a£5Ñ(Ó)Ü˜1˜aÓ ¤¤A a£D¬¨1«¡I¬a°«d¡NÓ!3Ñ3ñ4ò4ð 5ð 4ô ”�A“”rœ"˜Q›%¤ !£™*“~Ñ%¤a¨£dÑ*Ó+€DØÜ˜1˜aÓ Ð ¤¤B q£E¬!¨A«$¡J£Ñ/Ü˜1˜aÓ ¤¤B q£E¬!¨A«$¡J£Ñ/ñ0ä˜1˜aÓ ¤°°1Ó!5Ñ5ñ6ô ˜1˜aÓ ¤¤B q£E¬!¨A«$¡J£Ñ/ñ0ô Œr�!‹u”R˜“U‰{œ1˜Q›4Ñ¤ !£Ñ$Ó%ñ	&ò&ð 'ð &ô ”�1“”bœ˜1›œb ›e™“nÑ$¤R¨£UÑ*Ó+€DØÜ˜1˜aÓ Ð ¤¤A a£D¬¨A«¡J£Ñ/Ü˜1˜aÓ ¤¤A a£D¬¨A«¡J£Ñ/ñ0ä˜1˜aÓ ¤°°1Ó!5Ñ5ñ6ô ˜1˜aÓ ¤¤A a£D¬¨A«¡J£Ñ/ñ0ô Œq�‹t”A�a“D‰yœ˜A›‰œr !›uÑ$Ó%ñ	&ò&ð 'ñ &rI   c            	      ó&
  ‡‡— t        dd¬«      \  } }}}t        dd¬«      \  }}}}t        dt        ¬«      \  ŠŠ}}	t        t        ‰«      t	        ‰«      z  t        |«      t	        |«      z  z   «      t        t        ‰«      t	        ‰«      z  «      t        t        |«      t	        |«      z  «      z   k(  sJ ‚t        t        | «      t        t	        |«      t        |«      z  «      z  «      t        t        | «      t	        |«      z  t        |«      z  «      k(  sJ ‚t        d«      dk(  sJ ‚t        | «      | k(  sJ ‚t        t        |«      t        |«      z  t	        |«      t	        |«      z   z  «      t        t        |«      t        |«      z  t	        |«      z  «      t        t        |«      t        |«      z  t	        |«      z  «      z   k(  sJ ‚t        t        |«      t	        |«      z  «      j                  «       t        |«      t	        |«      z  k(  sJ ‚t        t	        |«      t        | «      z  «      j                  «       t	        |«      t        | «      z  k(  sJ ‚t        t        ‰«      t	        ‰«      z  «      j                  t        ‰«      t        |«      t        | «      z   «      t        t        |«      t	        ‰«      z  «      t        t        | «      t	        ‰«      z  «      z   k(  sJ ‚t        t        ‰«      t	        ‰«      z  «      j                  t	        ‰«      t	        |«      t	        | «      z   «      t        t        ‰«      t	        |«      z  «      t        t        ‰«      t	        | «      z  «      z   k(  sJ ‚t        t        ‰«      t	        ‰«      z  «      j                  «       }
t        |
«      t        |
«      k(  sJ ‚t        t        |«      t	        |«      z  «      t        t	        |«      t        |«      z  «       k(  sJ ‚t        t        |«      t	        | «      z  t	        |«      z  t        |«      z  «      }t        |j                  «       «      }|d	dgk(  sJ ‚t        |j                  «       «      }|d
dgk(  sJ ‚t        t        |«      t        | «      z  «      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t!        t"        ˆˆfd„«       y )Nr¾   Tr§   rK   r¤   rL   rM   rY   r   rt   rZ   r\   z#:CreateFermion(a)*CreateFermion(i):z%NO(CreateFermion(a)*CreateFermion(i))z.\left\{{a^\dagger_{a}} {a^\dagger_{i}}\right\}c                  óD   •— t        t        ‰ «      t        ‰«      z  «      S ©N)r   r   r   )r:   r;   s   €€rG   ú<lambda>ztest_NO.<locals>.<lambda>Ã  s   ø€ ¬¬B¨q«E´!°A³$©J«€ rI   )r.   r,   r   r   r   Ú_remove_bracketsrl   r   ÚlistÚiter_q_creatorsÚiter_q_annihilatorsÚhas_q_creatorsÚhas_q_annihilatorsr”   r•   r4   r3   ÚNotImplementedError)rA   r_   r‰   rŠ   rP   rQ   rR   rS   r<   r=   rC   ÚnoÚl1Úl2r:   r;   s                 @@rG   Útest_NOrÒ   œ  s  ù€ Ü˜°Ô5�J€A€qˆ!ˆQÜ˜°Ô5�J€A€qˆ!ˆQÜ˜¬Ô.�J€A€qˆ!ˆQäŒr�!‹u”Q�q“T‰zœB˜q›E¤! A£$™JÑ&Ó'Ü	Œ"ˆQ‹%”�!“‰*ƒ~œœ2˜a›5¤ 1£™:›Ñ&ò'ð (ð 'äŒr�!‹u”Rœ˜!›œR ›U™
“^Ñ#Ó$Ü	Œ"ˆQ‹%”�!“‰*”R˜“UÑ
Óòð ð äˆa‹5�AŠ:Ðˆ:Üˆa‹5�AŠ:Ðˆ:ÜŒr�!‹u”R˜“U‰{œA˜a›D¤1 Q£4™KÑ(Ó)ÜŒr�!‹u”R˜“U‰{œ1˜Q›4ÑÓ ÜŒr�!‹u”R˜“U‰{œ1˜Q›4ÑÓ ñ!ò!ð "ð !ô Œb�‹e”A�a“D‰j‹>×*Ñ*Ó,´°1³´a¸³d±
Ò:Ð:Ð:ÜŒa�‹d”2�a“5‰j‹>×*Ñ*Ó,´°!³´R¸³U±
Ò:Ð:Ð:äŒr�!‹u”Q�q“T‰z‹N×Ñ¤ 1£¤r¨!£u¬r°!«u¡}Ó5ÜŒr�!‹u”Q�q“T‰z‹NœR¤ 1£¤a¨£d¡
›^Ñ+ò,ð -ð ,äŒr�!‹u”Q�q“T‰z‹N×Ñ¤ !£¤a¨£d¬Q¨q«T¡kÓ2ÜŒr�!‹u”Q�q“T‰z‹NœR¤ 1£¤a¨£d¡
›^Ñ+ò,ð -ð ,ô Œb�‹e”A�a“D‰j‹>×*Ñ*Ó,€DÜ�‹;œ"˜T›(Ò"Ð"Ð"äŒb�‹e”A�a“D‰j‹>œr¤! A£$¤r¨!£u¡*›~Ð-Ò-Ð-Ð-ä	ŒBˆq‹E”!�A“$‰J”q˜“t‰OœB˜q›EÑ!Ó	"€BÜ	ˆb× Ñ Ó"Ó	#€BØ�!�Q�Š<Ðˆ<Ü	ˆb×$Ñ$Ó&Ó	'€BØ�!�Q�Š<Ðˆ<Ü	ŒBˆq‹E”"�Q“%‰K‹€BØ×Ñ Ò!Ð!Ð!Ø× Ñ  BÒ&Ð&Ð&Üˆr‹7Ð;Ò;Ð;Ð;Ü�‹8Ð>Ò>Ð>Ð>Ü�‹9ÐIÒIÐIÐIÜ
ÔÔ 7Õ8rI   c                  ó@  — t        dd¬«      \  } }t        dd¬«      \  }}t        d«      \  }}t        t        |«      t        |«      g«      t        |«      t        |«      gdfk(  sJ ‚t        t        |«      t        |«      g«      t        |«      t        |«      gdfk(  sJ ‚t        t        |«      t        | «      g«      t        |«      t        | «      gdfk(  sJ ‚t        t        | «      t        |«      g«      t        |«      t        | «      gdfk(  sJ ‚t        t        |«      t        | «      g«      t        |«      t        | «      gdfk(  sJ ‚t        t        | «      t        |«      g«      t        |«      t        | «      gdfk(  sJ ‚t        t        |«      t        | «      g«      t        | «      t        |«      gdfk(  sJ ‚t        t        | «      t        |«      g«      t        | «      t        |«      gdfk(  sJ ‚t        t        |«      t        | «      g«      t        | «      t        |«      gdfk(  sJ ‚t        t        | «      t        |«      g«      t        | «      t        |«      gdfk(  sJ ‚t        t        |«      t        |«      g«      t        |«      t        |«      gdfk(  sJ ‚t        t        |«      t        |«      g«      t        |«      t        |«      gdfk(  sJ ‚t        t        |«      t        |«      g«      t        |«      t        |«      gdfk(  sJ ‚t        t        |«      t        |«      g«      t        |«      t        |«      gdfk(  sJ ‚t        t        |«      t        |«      g«      t        |«      t        |«      gdfk(  sJ ‚t        t        |«      t        |«      g«      t        |«      t        |«      gdfk(  sJ ‚t        t        |«      t        |«      g«      t        |«      t        |«      gdfk(  sJ ‚t        t        |«      t        |«      g«      t        |«      t        |«      gdfk(  sJ ‚t        t        | «      t        |«      g«      t        | «      t        |«      gdfk(  sJ ‚t        t        |«      t        | «      g«      t        | «      t        |«      gdfk(  sJ ‚t        t        |«      t        | «      g«      t        |«      t        | «      gdfk(  sJ ‚t        t        | «      t        |«      g«      t        |«      t        | «      gdfk(  sJ ‚t        t        |«      t        | «      g«      t        | «      t        |«      gdfk(  sJ ‚t        t        | «      t        |«      g«      t        | «      t        |«      gdfk(  sJ ‚y )	Nrd   Tr§   za,br¤   zp,qr   rY   )r.   r!   r   r   )rA   r_   rP   rQ   r:   r;   s         rG   Útest_sortingrÔ   Æ  s·  € Ü�5 dÔ+�D€A€qÜ�5 dÔ+�D€A€qÜ�5‹>�D€A€qô (¬¨A«´°!³¨Ó6¼B¸q»EÄ1ÀQÃ4¸=È!Ð:LÒLÐLÐLÜ'¬¨1«¬r°!«u¨Ó6¼B¸q»EÄ1ÀQÃ4¸=È!Ð:LÒLÐLÐLô (¬¨1«¬r°!«u¨Ó6¼A¸a»DÄ"ÀQÃ%¸=È!Ð:LÒLÐLÐLÜ'¬¨A«´°!³¨Ó6¼A¸a»DÄ"ÀQÃ%¸=È!Ð:LÒLÐLÐLÜ'¬¨A«´°1³¨Ó7¼RÀ»UÄBÀqÃE¸NÈAÐ;NÒNÐNÐNÜ'¬¨A«´°1³¨Ó7¼RÀ»UÄBÀqÃE¸NÈAÐ;NÒNÐNÐNÜ'¬¨1«¬q°«t¨Ó5¼1¸Q»4ÄÀ1Ã¸,ÈÐ9JÒJÐJÐJÜ'¬¨1«¬q°«t¨Ó5¼1¸Q»4ÄÀ1Ã¸,ÈÐ9JÒJÐJÐJÜ'¬¨A«´°!³¨Ó6¼A¸a»DÄ"ÀQÃ%¸=È!Ð:LÒLÐLÐLÜ'¬¨1«¬r°!«u¨Ó6¼A¸a»DÄ"ÀQÃ%¸=È!Ð:LÒLÐLÐLô (¬¨1«¬r°!«u¨Ó6¼B¸q»EÄ1ÀQÃ4¸=È!Ð:LÒLÐLÐLÜ'¬¨A«´°!³¨Ó6¼B¸q»EÄ1ÀQÃ4¸=È!Ð:LÒLÐLÐLÜ'¬¨A«´°1³¨Ó7¼RÀ»UÄBÀqÃE¸NÈAÐ;NÒNÐNÐNÜ'¬¨A«´°1³¨Ó7¼RÀ»UÄBÀqÃE¸NÈAÐ;NÒNÐNÐNÜ'¬¨1«¬q°«t¨Ó5¼1¸Q»4ÄÀ1Ã¸,ÈÐ9JÒJÐJÐJÜ'¬¨1«¬q°«t¨Ó5¼1¸Q»4ÄÀ1Ã¸,ÈÐ9JÒJÐJÐJÜ'¬¨A«´°!³¨Ó6¼B¸q»EÄ1ÀQÃ4¸=È!Ð:LÒLÐLÐLÜ'¬¨1«¬r°!«u¨Ó6¼B¸q»EÄ1ÀQÃ4¸=È!Ð:LÒLÐLÐLô (¬¨1«¬r°!«u¨Ó6¼A¸a»DÄ"ÀQÃ%¸=È!Ð:LÒLÐLÐLÜ'¬¨A«´°!³¨Ó6¼A¸a»DÄ"ÀQÃ%¸=È!Ð:LÒLÐLÐLÜ'¬¨A«´°1³¨Ó7¼RÀ»UÄBÀqÃE¸NÈAÐ;NÒNÐNÐNÜ'¬¨A«´°1³¨Ó7¼RÀ»UÄBÀqÃE¸NÈAÐ;NÒNÐNÐNÜ'¬¨1«¬q°«t¨Ó5¼1¸Q»4ÄÀ1Ã¸,ÈÐ9JÒJÐJÐJÜ'¬¨1«¬q°«t¨Ó5¼1¸Q»4ÄÀ1Ã¸,ÈÐ9JÒJÐJÑJrI   c                  ó’  ‡‡— t        dd¬«      \  } }}}t        dd¬«      \  ŠŠ}}t        d«      \  }}}}	t        t        | «      t        |«      «      t	        | |«      k(  sJ ‚t        t        ‰«      t        ‰«      «      t	        ‰‰«      k(  sJ ‚t        t        ‰«      t        | «      «      dk(  sJ ‚t        t        ‰«      t        | «      «      dk(  sJ ‚t        t        | «      t        ‰«      «      dk(  sJ ‚t        t        | «      t        ‰«      «      dk(  sJ ‚t        t        | «      t        |«      «      t	        | |«      k(  sJ ‚t        t        t        |«      t        |«      «      «      }
|
j                  sJ ‚t        t        t        |«      t        |«      «      «      }
|
j                  sJ ‚t        t        ˆˆfd„«       y )	Nrˆ   Tr§   r©   r¤   r6   r   c                  ó@   •— t        t        ‰ «      t        ‰«      «      S rÆ   )r   r	   r   )rP   rQ   s   €€rG   rÇ   z"test_contraction.<locals>.<lambda>û  s   ø€ ´[ÄÀ1ÃÄrÈ!ÃuÓ5M€ rI   )
r.   r   r   r   r   r   Úis_only_below_fermiÚis_only_above_fermir3   r%   )rA   r_   r‰   rŠ   rR   rS   r:   r;   r<   r=   ÚrestrrP   rQ   s              @@rG   Útest_contractionrÚ   ì  sy  ù€ Ü˜°Ô5�J€A€qˆ!ˆQÜ˜°Ô5�J€A€qˆ!ˆQÜ˜Ó#�J€A€qˆ!ˆQÜ”r˜!“uœa ›dÓ#¤~°a¸Ó';Ò;Ð;Ð;Ü”q˜“tœR ›UÓ#¤~°a¸Ó';Ò;Ð;Ð;Ü”q˜“tœR ›UÓ# qÒ(Ð(Ð(Ü”r˜!“uœa ›dÓ# qÒ(Ð(Ð(Ü”q˜“tœR ›UÓ# qÒ(Ð(Ð(Ü”r˜!“uœa ›dÓ# qÒ(Ð(Ð(Ü”r˜!“uœa ›dÓ#¤~°a¸Ó';Ò;Ð;Ð;ÜœK¬¨1«¬q°«tÓ4Ó5€EØ×$Ò$Ð$Ð$ÜœK¬¨!«¬b°«eÓ4Ó5€EØ×$Ò$Ð$Ð$Ü
Ô+Ô-MÕNrI   c                  óÆ  — t        d«      \  } }}t        | |«      t        ||«      z  }t        |«      t        | |«      k(  sJ ‚t        | d«      t        ||«      z  }t        |«      t        | d«      t        ||«      z  k(  sJ ‚t        d|«      t        ||«      z  }t        |«      t        d|«      k(  sJ ‚t        |d«      t        ||«      z  }t        |«      t        d|«      k(  sJ ‚t        | d«      t        | |«      z  t        |d«      z  }t        |«      dk(  sJ ‚t        d| «      t        d|«      z  t        d|«      z  t        d|«      z  }t        |«      dk(  sJ ‚y )Nzi,j,kr   rY   rZ   )r.   r   r   )rA   r_   r‰   r<   s       rG   Útest_evaluate_deltasrÜ   þ  sf  € Ü�gÓ�G€A€qˆ!ä�q˜!Óœ~¨a°Ó3Ñ3€AÜ˜1Ó¤°°1Ó!5Ò5Ð5Ð5ä�q˜!Óœ~¨a°Ó3Ñ3€AÜ˜1Ó¤°°1Ó!5¼ÀqÈ!Ó8LÑ!LÒLÐLÐLä�q˜!Óœ~¨a°Ó3Ñ3€AÜ˜1Ó¤°°1Ó!5Ò5Ð5Ð5ä�q˜!Óœ~¨a°Ó3Ñ3€AÜ˜1Ó¤°°1Ó!5Ò5Ð5Ð5ä�q˜!Óœ~¨a°Ó3Ñ3´nÀQÈÓ6JÑJ€AÜ˜1Ó Ò"Ð"Ð"ä	˜˜1Ó	¤¨q°!Ó 4Ñ	4Ü˜!˜QÓñ
 Ü"0°°AÓ"6ñ
7€Aä˜1Ó Ò"Ð"Ñ"rI   c                  ó  — t        ddt        ¬«      \  } }}}t        ddt        ¬«      \  }}}}t        d«      \  }}	}
}t        } |d||f| |f«       |d||f| |f«       k(  sJ ‚ |d||f| |f«       |d||f|| f«      k(  sJ ‚ |d||f| |f«       |d||f|| f«       k(  sJ ‚ |d||f| |f«      dk(  sJ ‚ |d||f| | f«      dk(  sJ ‚ |d|||f| |f«       |d|||f| |f«       k(  sJ ‚ |d|||f| ||f«       |d|||f| ||f«      k(  sJ ‚ |d||f| |f«      }|j                  |«      sJ ‚|j                  |«      sJ ‚|j                  | «      sJ ‚|j                  |«      sJ ‚|j	                  ||«       |d||f| |f«      k(  sJ ‚d	|z  j	                  | |«      d	 |d||f||f«      z  k(  sJ ‚|j
                  t        d«      k(  sJ ‚t        |«      d
k(  sJ ‚t        |«      dk(  sJ ‚ |d||f| |f«      j	                  ||«       |d||f| |f«      k(  sJ ‚ |d|| f||f«      j	                  ||«       |d|| f||f«      k(  sJ ‚t        d«      \  }}}}t        d||f||f«      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )Nr¾   Tr¿   rK   rÀ   rL   Útr   rZ   z{t^{ab}_{ij}}zt((_a, _b),(_i, _j))zalpha1:5Úuz1{u^{\alpha_{1}\alpha_{2}}_{\alpha_{3}\alpha_{4}}}z$u((alpha1, alpha2),(alpha3, alpha4)))	r.   r,   r   Úhasrl   Úsymbolr-   r4   r”   )rA   r_   r‰   rŠ   rP   rQ   rR   rS   r:   r;   r<   r=   ÚATÚtabijÚa1Úa2Úa3Úa4Úu_alpha1234s                      rG   Útest_Tensorsré     s@  € Ü˜°¼%Ô@�J€A€qˆ!ˆQÜ˜°¼%Ô@�J€A€qˆ!ˆQÜ˜Ó#�J€A€qˆ!ˆQä	€BÙˆc�A�q�6˜A˜q˜6Ó"¡r¨#°°1¨v¸¸1°vÓ'>Ð&>Ò>Ð>Ð>Ùˆc�A�q�6˜A˜q˜6Ó"¡b¨¨q°!¨f°q¸!°fÓ&=Ò=Ð=Ð=Ùˆc�A�q�6˜A˜q˜6Ó"¡r¨#°°1¨v¸¸1°vÓ'>Ð&>Ò>Ð>Ð>Ùˆc�A�q�6˜A˜q˜6Ó" aÒ'Ð'Ð'Ùˆc�A�q�6˜A˜q˜6Ó" aÒ'Ð'Ð'Ùˆc�A�q˜!�9˜q !˜fÓ%©"¨S°1°a¸°)¸aÀ¸VÓ*DÐ)DÒDÐDÐDÙˆc�A�q˜!�9˜q ! Q˜iÓ(©B¨s°Q¸¸1°IÀÀ1Àa¸yÓ,IÒIÐIÐIáˆs�Q˜�F˜Q ˜FÓ#€EØ�9‰9�QŒ<Ðˆ<Ø�9‰9�QŒ<Ðˆ<Ø�9‰9�QŒ<Ðˆ<Ø�9‰9�QŒ<Ðˆ<Ø�:‰:�a˜Ó™r #¨¨1 v°°1¨vÓ6Ò6Ð6Ð6Øˆe‰G�>‰>˜!˜QÓ 1¡R¨¨a°¨V°a¸°VÓ%<Ñ#<Ò<Ð<Ð<Ø�<‰<œ6 #›;Ò&Ð&Ð&Ü�‹<˜?Ò*Ð*Ð*Üˆu‹:Ð/Ò/Ð/Ð/áˆc�A�q�6˜A˜q˜6Ó"×'Ñ'¨¨1Ó-±°C¸!¸Q¸À!ÀQÀÓ1HÒHÐHÐHÙˆc�A�q�6˜A˜q˜6Ó"×'Ñ'¨¨1Ó-±°C¸!¸Q¸À!ÀQÀÓ1HÒHÐHÐHä˜ZÓ(�N€BˆˆB�Ü% c¨B°¨8°b¸"°XÓ>€Kä�ÓÐ!UÒUÐUÐUÜˆ{ÓÐEÒEÐEÑErI   c                  ó²  — t        dd¬«      \  } }}}t        dd¬«      \  }}}}t        dt        ¬«      \  }}	}
}t        d|f|	f«      t        t	        |«      t        |	«      z  «      z  }t        d	||	f|
|f«      t        t	        |«      t	        |	«      z  t        |«      z  t        |
«      z  «      z  d
z  }t        t        t	        | «      t        |«      z  «      |z  dd¬«      }|t        d|f| f«      k(  sJ ‚t        t        t	        | «      t	        |«      z  t        |«      z  t        |«      z  «      |z  dd¬«      }|t        d	||f| |f«      k(  sJ ‚y )Nr¾   Tr§   rK   r¤   rL   rM   r>   Úvru   )Úkeep_only_fully_contractedÚsimplify_kronecker_deltas)r.   r,   r   r   r   r   r   )rA   r_   r‰   rŠ   rP   rQ   rR   rS   r:   r;   r<   r=   ÚFockÚVÚFaiÚVabijs                   rG   Útest_fully_contractedrò   8  sT  € Ü˜°Ô5�J€A€qˆ!ˆQÜ˜°Ô5�J€A€qˆ!ˆQÜ˜¬Ô.�J€A€qˆ!ˆQä  a T¨A¨4Ó0ÜŒr�!‹u”Q�q“T‰z‹Nñ€Dä	˜S 1 a &¨1¨a¨&Ó	1Ü	ŒBˆq‹E”"�Q“%‰Kœ˜!›ÑœQ˜q›TÑ!Ó	"ñ
#Ø$%ñ	&€Aô ””2�a“5œ˜1›‘:“˜tÑ#Ø'+Ø&*ô,€Cð Ô% c¨A¨4°!°Ó6Ò6Ð6Ð6Ü”"”R˜“Uœ2˜a›5‘[¤ 1£Ñ%¤a¨£dÑ*Ó+¨AÑ-Ø'+Ø&*ô,€Eð Ô'¨¨a°¨V°a¸°VÓ<Ò<Ð<Ñ<rI   c                  óÈ   — t        d«      \  } }t        t        | |«      dz   «      t        | |«      dz   k(  sJ ‚t        t        | |«      dz   «      t        | |«      dz   k(  sJ ‚y )Nrd   rZ   rY   )r.   r#   Úatt©rA   r_   s     rG   Ú'test_substitute_dummies_without_dummiesrö   L  s]   € Ü�5‹>�D€A€qÜœc ! Q›i¨!™mÓ,´°A°q³	¸A±Ò=Ð=Ð=Üœc ! Q›i¨!™mÓ,´°A°q³	¸A±Ò=Ð=Ñ=rI   c            
      óþ   — t        dt        ¬«      \  } }t        t        | |«      t	        t        | «      t        |«      z  «      z  t        || «      t	        t        |«      t        | «      z  «      z  z
  «      dk(  sJ ‚y ©Núi jrM   r   )r.   r,   r#   rô   r   r   r   rõ   s     rG   Ú#test_substitute_dummies_NO_operatorrú   R  sl   € Ü�5œeÔ$�D€A€qÜœc ! Q›i¬¬2¨a«5´°1³©:«Ñ6Ü�a˜“)œBœr !›u¤Q q£T™z›NÑ*ñ+ó ,Ø/0ò1ð 1ñ 1rI   c                  óÚ   — t        dt        ¬«      \  } }t        t        | |«      t	        | «      z  t        |«      z  t        || «      t	        |«      z  t        | «      z  z
  «      dk(  sJ ‚y rø   )r.   r,   r#   rô   r   r   rõ   s     rG   Ú#test_substitute_dummies_SQ_operatorrü   X  sd   € Ü�5œeÔ$�D€A€qÜœc ! Q›i¬¨1«™o¬a°«dÑ2Ü�a˜“)œB˜q›E‘/¤! A£$Ñ&ñ'ó (Ø+,ò-ð -ñ -rI   c                  óà   — t        ddt        ¬«      \  } }t        ddt        ¬«      \  }}t        dt        ¬«      \  }}t        d«      }t         || ||«       ||||«      z
  d¬	«      d
k(  sJ ‚y )Nrù   Tr¿   úa brÀ   úp qrM   r>   )Únew_indicesr   )r.   r,   r'   r#   )rA   r_   rP   rQ   r:   r;   r>   s          rG   Ú#test_substitute_dummies_new_indicesr  ^  si   € Ü�5 d´Ô6�D€A€qÜ�5 d´Ô6�D€A€qÜ�5œeÔ$�D€A€qÜ�‹€AÜ™a  1 a›j©1¨Q°°1«:Ñ5À4ÔHÈAÒMÐMÑMrI   c            
      ó¶   — t        ddt        ¬«      \  } }}}t        d«      }ddlm}  || |||gd«      D ]!  }t         ||Ž  || |||«      z
  «      dk(  rŒ!J ‚ y )Nr¾   Tr¿   r>   r   ©Ú
variationsru   )r.   r,   r'   Úsympy.utilities.iterablesr  r#   )rA   r_   r‰   rŠ   r>   r  Úpermuts          rG   Ú*test_substitute_dummies_substitution_orderr  f  sj   € Ü˜°¼%Ô@�J€A€qˆ!ˆQÜ�‹€AÝ4Ù˜a  A q˜\¨1Ó-ò CˆÜ!¡! V *©q°°A°q¸!«}Ñ"<Ó=ÀÓBÐBÐBñCrI   c            	      ó€  — t        dd¬«      } t        dd¬«      }t        ddt        ¬«      \  }}t        ddt        ¬	«      \  }}t        d
«      }t        d«      }t        } |||||«       ||| «      z   |||«      z   |||«      z   |||||«       ||| «      z   |||«      z   |||«      z   |||||«       ||| «      z   |||«      z   |||«      z   |||||«       ||| «      z   |||«      z   |||«      z  g}	|	dd  D ]4  }
 ||	d   «       ||
«      k7  sJ ‚t	        |	d   «      t	        |
«      k(  rŒ4J ‚ y )NrA   Tr§   rP   r¤   úk lr¿   úc drÀ   rë   rÞ   rY   r   ©r.   r,   r'   r"   r#   )ÚiiÚaar‰   rŠ   rR   rS   rë   rÞ   ÚdumsÚexprsr  s              rG   Ú*test_dummy_order_inner_outer_lines_VT1T1T1r  n  sf  € Ü	� $Ô	'€BÜ	� $Ô	'€BÜ�5 d´Ô6�D€A€qÜ�5 d´Ô6�D€A€qä�‹€AÜ�‹€AÜ€Dñ 	
ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  A›wÑ&¡q¨¨Q£xÑ/Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  A›wÑ&¡q¨¨Q£xÑ/Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  A›wÑ&¡q¨¨Q£xÑ/Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  A›wÑ&¡q¨¨Q£xÑ/ð€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c            	      óô  — t        dd¬«      \  } }t        dd¬«      \  }}t        ddt        ¬«      \  }}t        ddt        ¬	«      \  }}t        d
«      }t        d«      }	t        }
 |||||«       |	|| «      z   |	||«      z   |	||«      z   |	||«      z   |||||«       |	||«      z   |	|| «      z   |	||«      z   |	||«      z   |||||«       |	|| «      z   |	||«      z   |	||«      z   |	||«      z   |||||«       |	||«      z   |	|| «      z   |	||«      z   |	||«      z  g}|dd  D ]4  } |
|d   «       |
|«      k7  sJ ‚t	        |d   «      t	        |«      k7  rŒ4J ‚  |||||«       |	|| «      z   |	||«      z   |	||«      z   |	||«      z   |||||«       |	|| «      z   |	||«      z   |	||«      z   |	||«      z   |||||«       |	|| «      z   |	||«      z   |	||«      z   |	||«      z   |||||«       |	|| «      z   |	||«      z   |	||«      z   |	||«      z  g}|dd  D ]4  } |
|d   «       |
|«      k(  sJ ‚t	        |d   «      t	        |«      k7  rŒ4J ‚  |||||«       |	|| «      z   |	||«      z   |	||«      z   |	||«      z   |||||«       |	||«      z   |	|| «      z   |	||«      z   |	||«      z   |||||«       |	|| «      z   |	||«      z   |	||«      z   |	||«      z   |||||«       |	||«      z   |	|| «      z   |	||«      z   |	||«      z  g}|dd  D ]4  } |
|d   «       |
|«      k7  sJ ‚t	        |d   «      t	        |«      k(  rŒ4J ‚ y ©Nrù   Tr§   rþ   r¤   r	  r¿   r
  rÀ   rë   rÞ   rY   r   r  ©r  Újjr  Úbbr‰   rŠ   rR   rS   rë   rÞ   r  r  r  s                rG   Ú,test_dummy_order_inner_outer_lines_VT1T1T1T1r  ‡  s  € Ü�U¨Ô-�F€BˆÜ�U¨Ô-�F€BˆÜ�5 d´Ô6�D€A€qÜ�5 d´Ô6�D€A€qä�‹€AÜ�‹€AÜ€Dñ 	
ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9ð€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJñ 	
ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9ð€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJñ 	
ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9Ù	ˆ!ˆQ��1‹‘a˜˜2“hÑ™q  B›xÑ'©¨"¨a«Ñ0±°2°q³Ñ9ð€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c                  óV  — t        d«      \  } }}t        t        | «      t        |«      z  t        |«      z  «      j                  d«      t        t        | «      t        |«      z  «      k(  sJ ‚t        t        | «      t        |«      z  t        |«      z  «      j                  d«      t        t        |«      t        |«      z  «      k(  sJ ‚t        t        | «      t        |«      z  t        |«      z  «      j                  d«      t        t        | «      t        |«      z  «      k(  sJ ‚y )Nzp,q,rrY   r   rZ   )r.   r   r   Ú	get_subNO)r:   r;   r<   s      rG   Útest_get_subNOr  ¼  sØ   € Ü�gÓ�G€A€qˆ!ÜŒa�‹d”1�Q“4‰iœ˜!›‰nÓ×'Ñ'¨Ó*¬b´°1³´a¸³d±«mÒ;Ð;Ð;ÜŒa�‹d”1�Q“4‰iœ˜!›‰nÓ×'Ñ'¨Ó*¬b´°1³´a¸³d±«mÒ;Ð;Ð;ÜŒa�‹d”1�Q“4‰iœ˜!›‰nÓ×'Ñ'¨Ó*¬b´°1³´a¸³d±«mÒ;Ð;Ñ;rI   c            	      ó  — t        ddt        ¬«      \  } }}}t        ddt        ¬«      \  }}}}t        d«      }t        d«      }	t        }
 || |||«       |	|| «      z   |	||«      z   ||| ||«       |	|| «      z   |	||«      z   || |||«       |	|| «      z   |	||«      z  g}|dd  D ]4  } |
|d	   «       |
|«      k7  sJ ‚t	        |d	   «      t	        |«      k7  rŒ4J ‚  || |||«       |	|| «      z   |	||«      z   ||| ||«       |	|| «      z   |	||«      z  g}|dd  D ]4  } |
|d	   «       |
|«      k7  sJ ‚t	        |d	   «      t	        |«      k(  rŒ4J ‚  || |||«       |	|| «      z   |	||«      z   || |||«       |	|| «      z   |	||«      z  g}|dd  D ]4  } |
|d	   «       |
|«      k(  sJ ‚t	        |d	   «      t	        |«      k7  rŒ4J ‚  || |||«       |	|| «      z   |	||«      z   ||| ||«       |	||«      z   |	|| «      z   || |||«       |	|| «      z   |	||«      z   ||| ||«       |	||«      z   |	|| «      z  g}|dd  D ]4  } |
|d	   «       |
|«      k7  sJ ‚t	        |d	   «      t	        |«      k(  rŒ4J ‚ y ©
Nr¾   Tr¿   rK   rÀ   rë   rÞ   rY   r   r  ©rA   r_   r‰   rŠ   rP   rQ   rR   rS   rë   rÞ   r  r  r  s                rG   Ú$test_equivalent_internal_lines_VT1T1r  Ã  s*  € Ü˜°¼%Ô@�J€A€qˆ!ˆQÜ˜°¼%Ô@�J€A€qˆ!ˆQä�‹€AÜ�‹€AÜ€Dñ 	
ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%Ù	ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%Ù	ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%ð€Eð
 ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJñ
 	
ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%Ù	ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%ð€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJñ
 	
ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%Ù	ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%ð€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJñ
 	
ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%Ù	ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%Ù	ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%Ù	ˆ!ˆQ��1‹‘a˜˜1“gÑ™a  1›gÑ%ð	€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c                  óh  — t        ddt        ¬«      \  } }}}}}t        ddt        ¬«      \  }}}}	}
}t        ddt        ¬«      \  }}}}t        ddt        ¬«      \  }}}}dd	lm} t	        d
«      }t	        d«      }t
        } |||||«       |||| |«      z   || |||«      z  } |||||	gd«      }|j                  t        ||||gt        |«      «      «      }|D ]O  }t        ||||g|«      }|j                  |«      } ||«       ||«      k7  sJ ‚t        |«      t        |«      k(  rŒOJ ‚  |||||«       ||||| «      z   ||| ||«      z  } |||||	gd«      }|j                  t        ||||gt        |«      «      «      }|D ]O  }t        ||||g|«      }|j                  |«      } ||«       ||«      k7  sJ ‚t        |«      t        |«      k(  rŒOJ ‚  |||||«       |||| |«      z   ||| ||«      z  } |||||	gd«      }|j                  t        ||||gt        |«      «      «      }|D ]O  }t        ||||g|«      }|j                  |«      } ||«       ||«      k7  sJ ‚t        |«      t        |«      k(  rŒOJ ‚  |||||«       ||||| «      z   || |||«      z  } |||||	gd«      }|j                  t        ||||gt        |«      «      «      }|D ]O  }t        ||||g|«      }|j                  |«      } ||«       ||«      k7  sJ ‚t        |«      t        |«      k(  rŒOJ ‚ y ©Núi j k l m nTr¿   úa b c d e frÀ   úp1 p2 p3 p4úh1 h2 h3 h4r   r  rë   rÞ   ru   ©
r.   r,   r  r  r'   r"   rl   ÚzipÚnextr#   ©rA   r_   r‰   rŠ   ra   r`   rP   rQ   rR   rS   r   r>   rE   rF   Úp3Úp4Úh1Úh2Úh3Úh4r  rë   rÞ   r  ÚtemplateÚ
permutatorÚbaser  ÚsubslistrC   s                                 rG   Ú(test_equivalent_internal_lines_VT2conjT2r2  ï  s¦  € ä˜}¸$ÄEÔJÑ€A€qˆ!ˆQ��1Ü˜}¸$ÄEÔJÑ€A€qˆ!ˆQ��1Ü˜]¸Ä%ÔH�N€BˆˆB�Ü˜]¸Ä%ÔH�N€BˆˆB�å4ä�‹€AÜ�‹€AÜ€Dñ ��R˜˜RÓ ¡ 2 r¨1¨a£Ñ0±°1°a¸¸R³Ñ@€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÙ�D‹z™T $›ZÒ'Ð'Ð'Ü! $Ó'Ô+=¸dÓ+CÓCÐCÐCð	Dñ
 ��R˜˜RÓ ¡ 2 r¨1¨a£Ñ0±°1°a¸¸R³Ñ@€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÙ�D‹z™T $›ZÒ'Ð'Ð'Ü! $Ó'Ô+=¸dÓ+CÓCÐCÐCð	Dñ ��R˜˜RÓ ¡ 2 r¨1¨a£Ñ0±°1°a¸¸R³Ñ@€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÙ�D‹z™T $›ZÒ'Ð'Ð'Ü! $Ó'Ô+=¸dÓ+CÓCÐCÐCð	Dñ
 ��R˜˜RÓ ¡ 2 r¨1¨a£Ñ0±°1°a¸¸R³Ñ@€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÙ�D‹z™T $›ZÒ'Ð'Ð'Ü! $Ó'Ô+=¸dÓ+CÓCÐCÐCñ	DrI   c                  ó¸  — t        ddt        ¬«      \  } }}}}}t        ddt        ¬«      \  }}}}	}
}t        ddt        ¬«      \  }}}}t        ddt        ¬«      \  }}}}dd	lm} t	        d
«      }t	        d«      }t
        } |||||«       |||| |«      z   |||| |«      z  } |||||	gd«      }|j                  t        ||||gt        |«      «      «      }|D ]O  }t        ||||g|«      }|j                  |«      } ||«       ||«      k7  sJ ‚t        |«      t        |«      k(  rŒOJ ‚  |||||«       ||||| «      z   |||| |«      z  } |||||	gd«      }|j                  t        ||||gt        |«      «      «      }|D ]O  }t        ||||g|«      }|j                  |«      } ||«       ||«      k7  sJ ‚t        |«      t        |«      k(  rŒOJ ‚ y r  r$  r'  s                                 rG   Ú8test_equivalent_internal_lines_VT2conjT2_ambiguous_orderr4  !  s  € ô ˜}¸$ÄEÔJÑ€A€qˆ!ˆQ��1Ü˜}¸$ÄEÔJÑ€A€qˆ!ˆQ��1Ü˜]¸Ä%ÔH�N€BˆˆB�Ü˜]¸Ä%ÔH�N€BˆˆB�å4ä�‹€AÜ�‹€AÜ€Dñ ��R˜˜RÓ ¡ 2 r¨1¨a£Ñ0±°2°r¸1¸a³Ñ@€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÙ�D‹z™T $›ZÒ'Ð'Ð'Ü! $Ó'Ô+=¸dÓ+CÓCÐCÐCð	Dñ
 ��R˜˜RÓ ¡ 2 r¨1¨a£Ñ0±°2°r¸1¸a³Ñ@€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÙ�D‹z™T $›ZÒ'Ð'Ð'Ü! $Ó'Ô+=¸dÓ+CÓCÐCÐCñ	DrI   c            
      ó  — t        ddt        ¬«      \  } }}}t        ddt        ¬«      \  }}}}t        d«      }t        d«      }	t        }
 || |||«       |	||| |«      z   ||| ||«       |	||| |«      z   || |||«       |	||| |«      z   ||| ||«       |	||| |«      z  g}|dd  D ]4  } |
|d	   «       |
|«      k(  sJ ‚t	        |d	   «      t	        |«      k7  rŒ4J ‚  || |||«       |	||| |«      z   || |||«       |	||| |«      z   || |||«       |	|||| «      z   || |||«       |	|||| «      z  g}|dd  D ]4  } |
|d	   «       |
|«      k7  sJ ‚t	        |d	   «      t	        |«      k7  rŒ4J ‚  || |||«       |	||| |«      z   ||| ||«       |	|||| «      z   || |||«       |	||| |«      z   ||| ||«       |	|||| «      z  g}|dd  D ]4  } |
|d	   «       |
|«      k7  sJ ‚t	        |d	   «      t	        |«      k(  rŒ4J ‚ y r  r  r  s                rG   Ú"test_equivalent_internal_lines_VT2r6  B  s   € Ü˜°¼%Ô@�J€A€qˆ!ˆQÜ˜°¼%Ô@�J€A€qˆ!ˆQä�‹€AÜ�‹€AÜ€Dñ 	
ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#Ù	ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#Ù	ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#Ù	ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#ð€Eð  ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJñ 	
ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#Ù	ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#Ù	ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#Ù	ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#ð€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJñ
 	
ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#Ù	ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#Ù	ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#Ù	ˆ!ˆQ��1‹‘a˜˜1˜a “mÑ#ð	€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c            
      ót  — t        dd¬«      \  } }t        dd¬«      \  }}t        ddt        ¬«      \  }}t        ddt        ¬	«      \  }}t        d
«      }t        d«      }	t        }
 |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z  g}|dd  D ]4  } |
|d   «       |
|«      k7  sJ ‚t	        |d   «      t	        |«      k(  rŒ4J ‚  |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z  g}|dd  D ]4  } |
|d   «       |
|«      k7  sJ ‚t	        |d   «      t	        |«      k(  rŒ4J ‚  |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z  g}|dd  D ]4  } |
|d   «       |
|«      k7  sJ ‚t	        |d   «      t	        |«      k(  rŒ4J ‚ y r  r  r  s                rG   Útest_internal_external_VT2T2r8  s  sl  € Ü�U¨Ô-�F€BˆÜ�U¨Ô-�F€BˆÜ�5 d´Ô6�D€A€qÜ�5 d´Ô6�D€A€qä�‹€AÜ�‹€AÜ€Dñ 	
ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5ð	€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJñ 	
ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨2¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨2¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨2¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨2¨r°1£oÑ5ð	€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJñ 	
ˆ!ˆQ��1‹‘a˜˜2˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜2˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜2˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜2˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5ð	€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c            
      óP  — t        d«      \  } }t        d«      \  }}t        dt        ¬«      \  }}t        dt        ¬«      \  }}t        d«      }t        d«      }	t        }
 |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z   |||||«       |	||| |«      z   |	||||«      z  g}|dd  D ]4  } |
|d	   «       |
|«      k7  sJ ‚t	        |d	   «      t	        |«      k(  rŒ4J ‚ y )
Nrù   rþ   r	  rM   r
  rë   rÞ   rY   r   r  r  s                rG   Útest_internal_external_pqrsr:  š  sX  € Ü�U‹^�F€BˆÜ�U‹^�F€BˆÜ�5œeÔ$�D€A€qÜ�5œeÔ$�D€A€qä�‹€AÜ�‹€AÜ€Dñ 	
ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5Ù	ˆ!ˆQ��1‹‘a˜˜A˜r 1“oÑ%¡a¨¨A¨r°1£oÑ5ð	€Eð ˜˜�)ò JˆÙ�E˜!‘H‹~¡ f£Ò-Ð-Ð-Ü! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c                  óÈ
  — t        dd¬«      \  } }t        ddt        ¬«      \  }}}t        ddt        ¬«      \  }}t        dt        ¬	«      \  }}t        d
«      }	t        d«      }
t        d«      }t        } | |	||«       |
||«      z  «      ||gk(  sJ ‚ | |	||«       |
||«      z  «      ||gk(  sJ ‚ | |	||«       |
||«      z  «      ||gk(  sJ ‚ | |	||«       |
||«      z  «      ||gk(  sJ ‚ | |	||«       |
||«      z   |||«      z  «      |||gk(  sJ ‚ | |	||«       |
||«      z   |||«      z  «      |||gk(  sJ ‚ | |	||«       |
||«      z   |||«      z  «      |||gk(  sJ ‚ | |	||«       |
||«      z   |||«      z  «      |||gk(  sJ ‚ | |	||«       |
||«      z   |||«      z  «      |||gk(  sJ ‚ | |	||«       |
||«      z   |||«      z  «      |||gk(  sJ ‚ | |	||«       |
||«      z   |||«      z  «      |||gk(  sJ ‚ | |	||«       |
||«      z   |||«      z  «      |||gk(  sJ ‚ | |	|| |«       |	|||«      z   |	|||«      z  «      |||gk(  sJ ‚ | |	|| |«       |	|||«      z   |	|||«      z  «      |||gk(  sJ ‚ | |	|| |«       |	|||«      z   |	|||«      z  «      |||gk(  sJ ‚ | |	|| |«       |	|||«      z   |	|||«      z  «      |||gk(  sJ ‚ | |	|| |«       |	|||«      z   |	|||«      z  «      |||gk(  sJ ‚ | |	|| |«       |	|||«      z   |	|||«      z  «      |||gk(  sJ ‚ | |	|| |«       |	|||«      z   |	|||«      z  «      |||gk(  sJ ‚ | |	|| |«       |	|||«      z   |	|||«      z  «      |||gk(  sJ ‚ | |	|||«       |
|||«      z  «      |||gk(  sJ ‚ | |	|||«       |
|||«      z  «      |||gk(  sJ ‚ | |	|||«       |
|||«      z  «      |||gk(  sJ ‚ | |	|||«       |
|||«      z  «      |||gk(  sJ ‚ | |	|||«       |
|||«      z  «      |||gk(  sJ ‚ | |	|||«       |
|||«      z  «      |||gk(  sJ ‚ | |
|||«       |	|||«      z  «      |||gk(  sJ ‚ | |
|||«       |	|||«      z  «      |||gk(  sJ ‚ | |
|||«       |	|||«      z  «      |||gk(  sJ ‚ | |
|||«       |	|||«      z  «      |||gk(  sJ ‚ | |
|||«       |	|||«      z  «      |||gk(  sJ ‚ | |
|||«       |	|||«      z  «      |||gk(  sJ ‚y )Nrþ   Tr¤   zk l mr¿   r
  rÀ   rÿ   rM   ÚAr	   r«   )r.   r,   r'   r"   )r  r  r‰   rŠ   ra   rR   rS   r:   r;   r<  r	   r«   r  s                rG   Útest_dummy_order_well_definedr=  ¯  s¬  € Ü�U¨Ô-�F€BˆÜ�g¨4´UÔ;�G€A€qˆ!Ü�5 d´Ô6�D€A€qÜ�5œeÔ$�D€A€qä�‹€AÜ�‹€AÜ�‹€AÜ€Dñ ‘�!�Q“™˜!˜Q›‘Ó  Q¨ FÒ*Ð*Ð*Ù‘�!�Q“™˜!˜Q›‘Ó  Q¨ FÒ*Ð*Ð*Ù‘�!�Q“™˜!˜Q›‘Ó  Q¨ FÒ*Ð*Ð*Ù‘�!�Q“™˜!˜Q›‘Ó  Q¨ FÒ*Ð*Ð*ñ ‘�!�Q“™˜!˜Q›‘¡ ! Q£Ñ'Ó(¨Q°°1¨IÒ5Ð5Ð5Ù‘�!�Q“™˜!˜Q›‘¡ ! Q£Ñ'Ó(¨Q°°1¨IÒ5Ð5Ð5Ù‘�!�Q“™˜!˜Q›‘¡ ! Q£Ñ'Ó(¨Q°°1¨IÒ5Ð5Ð5Ù‘�!�Q“™˜!˜Q›‘¡ ! Q£Ñ'Ó(¨Q°°1¨IÒ5Ð5Ð5Ù‘�!�Q“™˜!˜Q›‘¡ ! Q£Ñ'Ó(¨Q°°1¨IÒ5Ð5Ð5Ù‘�!�Q“™˜!˜Q›‘¡ ! Q£Ñ'Ó(¨Q°°1¨IÒ5Ð5Ð5Ù‘�!�Q“™˜!˜Q›‘¡ ! Q£Ñ'Ó(¨Q°°1¨IÒ5Ð5Ð5Ù‘�!�Q“™˜!˜Q›‘¡ ! Q£Ñ'Ó(¨Q°°1¨IÒ5Ð5Ð5ñ ‘�!�R˜“™A˜a  Q›KÑ'©¨"¨a°«Ñ3Ó4¸¸A¸q¸	ÒAÐAÐAÙ‘�!�R˜“™A˜a  Q›KÑ'©¨"¨a°«Ñ3Ó4¸¸A¸q¸	ÒAÐAÐAÙ‘�!�R˜“™A˜a  Q›KÑ'©¨"¨a°«Ñ3Ó4¸¸A¸q¸	ÒAÐAÐAÙ‘�!�R˜“™A˜a  Q›KÑ'©¨"¨a°«Ñ3Ó4¸¸A¸q¸	ÒAÐAÐAÙ‘�!�R˜“™A˜a  Q›KÑ'©¨"¨a°«Ñ3Ó4¸¸A¸q¸	ÒAÐAÐAÙ‘�!�R˜“™A˜a  Q›KÑ'©¨"¨a°«Ñ3Ó4¸¸A¸q¸	ÒAÐAÐAÙ‘�!�R˜“™A˜a  Q›KÑ'©¨"¨a°«Ñ3Ó4¸¸A¸q¸	ÒAÐAÐAÙ‘�!�R˜“™A˜a  Q›KÑ'©¨"¨a°«Ñ3Ó4¸¸A¸q¸	ÒAÐAÐAñ ‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ð3Ù‘�!�Q˜“
™1˜Q  1›:Ñ%Ó&¨1¨a°¨)Ò3Ð3Ñ3rI   c            	      óx  — t        dd¬«      \  } }t        ddt        ¬«      \  }}}}}t        ddt        ¬«      \  }}}	}
}t        dt        ¬	«      \  }}t        d
dt        ¬«      \  }}}}t        ddt        ¬«      \  }}}}t        ddt        ¬«      \  }}}}t        ddt        ¬«      \  }}}}t        d«      }t        d«      }ddlm}   |||«       |||«      z   |||«      z   |||«      z   |||«      z  }! | |||	|
|gd«      }"|!j                  t        |||||gt        |"«      «      «      }#|"D ]=  }$t        |||||g|$«      }%|!j                  |%«      }&t        |&«      t        |#«      k(  rŒ=J ‚  |||«       |||«      z   |||«      z   |||«      z   |||«      z  }! | |||	|
|gd«      }"|!j                  t        |||||gt        |"«      «      «      }#|"D ]=  }$t        |||||g|$«      }%|!j                  |%«      }&t        |&«      t        |#«      k(  rŒ=J ‚  |||||«       |||||«      z   |||«      z  }! | |||	|
|gd«      }"|!j                  t        |||||gt        |"«      «      «      }#|"D ]=  }$t        |||||g|$«      }%|!j                  |%«      }&t        |&«      t        |#«      k(  rŒ=J ‚ y )Nrþ   Tr¤   z	i j k l mr¿   z	a b c d erÀ   rÿ   rM   r"  zp5 p6 p7 p8r#  zh5 h6 h7 h8r<  r	   r   r  rv   )	r.   r,   r'   r  r  rl   r%  r&  r#   )'r  r  rA   r_   r‰   rŠ   ra   rP   rQ   rR   rS   r   r:   r;   rE   rF   r(  r)  Úp5Úp6Úp7Úp8r*  r+  r,  r-  Úh5Úh6Úh7Úh8r<  r	   r  r.  r/  r0  r  r1  rC   s'                                          rG   Útest_dummy_order_ambiguousrG  ç  sü  € Ü�U¨Ô-�F€BˆÜ˜K°T¼uÔE�M€A€qˆ!ˆQ�Ü˜K°T¼uÔE�M€A€qˆ!ˆQ�Ü�5œeÔ$�D€A€qÜ˜]¸Ä%ÔH�N€BˆˆB�Ü˜]¸Ä%ÔH�N€BˆˆB�Ü˜]¸Ä%ÔH�N€BˆˆB�Ü˜]¸Ä%ÔH�N€BˆˆB�ä�‹€AÜ�‹€Aå4ñ ��R‹y™˜2˜r›Ñ"¡1 R¨£9Ñ,©Q¨r°2«YÑ6±q¸¸R³yÑ@€HÙ˜Q  1 a¨˜O¨QÓ/€JØ�=‰=œ˜b " b¨"¨bÐ1´4¸
Ó3CÓDÓE€DØò DˆÜ˜˜B  B¨Ð+¨VÓ4ˆØ�}‰}˜XÓ&ˆÜ! $Ó'Ô+=¸dÓ+CÓCÐCÐCðDñ ��R‹y™˜2˜r›Ñ"¡1 R¨£9Ñ,©Q¨r°2«YÑ6±q¸¸R³yÑ@€HÙ˜Q  1 a¨˜O¨QÓ/€JØ�=‰=œ˜b " b¨"¨bÐ1´4¸
Ó3CÓDÓE€DØò DˆÜ˜˜B  B¨Ð+¨VÓ4ˆØ�}‰}˜XÓ&ˆÜ! $Ó'Ô+=¸dÓ+CÓCÐCÐCðDñ ��R˜˜RÓ ¡ 2 r¨2¨rÓ!2Ñ2±1°R¸³9Ñ<€HÙ˜Q  1 a¨˜O¨QÓ/€JØ�=‰=œ˜b " b¨"¨bÐ1´4¸
Ó3CÓDÓE€DØò DˆÜ˜˜B  B¨Ð+¨VÓ4ˆØ�}‰}˜XÓ&ˆÜ! $Ó'Ô+=¸dÓ+CÓCÐCÐCñDrI   c                  ó(   — t        d| d d | dd  «      S )Nrë   rZ   )r   ©rx   s    rG   ÚatvrJ    s   € Ü˜s D¨¨! H¨d°1°2¨hÓ8Ð8rI   c                  óŒ   — t        | «      dk(  rt        d| d d | dd  «      S t        | «      dk(  rt        d| d   f| d   f«      S y )Nru   rÞ   rZ   r   rY   )rw   r   rI  s    rG   rô   rô     sS   € Ü
ˆ4ƒy�A‚~Ü" 3¨¨R¨a¨°$°q°r°(Ó<Ð<Ü	ˆT‹�aŠÜ" 3¨¨a©¨
°T¸!±W°JÓ?Ð?ð 
rI   c            	      ó|  — t        dd¬«      } t        dd¬«      }t        ddt        ¬«      \  }}t        ddt        ¬	«      \  }}t        ||||«      t        || «      z  t        ||«      z  t        ||«      z  t        ||||«      t        || «      z  t        ||«      z  t        ||«      z  t        ||||«      t        || «      z  t        ||«      z  t        ||«      z  t        ||||«      t        || «      z  t        ||«      z  t        ||«      z  g}|d
d  D ]  }t	        |d   «      t	        |«      k(  rŒJ ‚ y )NrA   Tr§   rP   r¤   r	  r¿   r
  rÀ   rY   r   ©r.   r,   rJ  rô   r#   )r  r  r‰   rŠ   rR   rS   r  r  s           rG   Ú-test_dummy_order_inner_outer_lines_VT1T1T1_ATrN    s5  € Ü	� $Ô	'€BÜ	� $Ô	'€BÜ�5 d´Ô6�D€A€qÜ�5 d´Ô6�D€A€qô 	ˆAˆq�!�Q‹œ˜A˜r›
Ñ"¤3 q¨!£9Ñ,¬S°°Q«ZÑ7ÜˆAˆq�!�Q‹œ˜A˜r›
Ñ"¤3 q¨!£9Ñ,¬S°°Q«ZÑ7ÜˆAˆq�!�Q‹œ˜A˜r›
Ñ"¤3 q¨!£9Ñ,¬S°°Q«ZÑ7ÜˆAˆq�!�Q‹œ˜A˜r›
Ñ"¤3 q¨!£9Ñ,¬S°°Q«ZÑ7ð€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c                  óÄ  — t        dd¬«      \  } }t        dd¬«      \  }}t        ddt        ¬«      \  }}t        ddt        ¬	«      \  }}t        ||||«      t        || «      z  t        ||«      z  t        ||«      z  t        ||«      z  t        ||||«      t        ||«      z  t        || «      z  t        ||«      z  t        ||«      z  t        ||||«      t        || «      z  t        ||«      z  t        ||«      z  t        ||«      z  g}|d
d  D ]  }	t	        |d   «      t	        |	«       k(  rŒJ ‚ t        ||||«      t        || «      z  t        ||«      z  t        ||«      z  t        ||«      z  t        ||||«      t        ||«      z  t        || «      z  t        ||«      z  t        ||«      z  g}|d
d  D ]  }	t	        |d   «      t	        |	«      k(  rŒJ ‚ y ©Nrù   Tr§   rþ   r¤   r	  r¿   r
  rÀ   rY   r   rM  ©
r  r  r  r  r‰   rŠ   rR   rS   r  r  s
             rG   Ú/test_dummy_order_inner_outer_lines_VT1T1T1T1_ATrR  1  sä  € Ü�U¨Ô-�F€BˆÜ�U¨Ô-�F€BˆÜ�5 d´Ô6�D€A€qÜ�5 d´Ô6�D€A€qô 	ˆAˆq�!�Q‹œ˜A˜r›
Ñ"¤3 q¨"£:Ñ-¬c°"°a«jÑ8¼¸RÀ»ÑCÜˆAˆq�!�Q‹œ˜A˜r›
Ñ"¤3 q¨"£:Ñ-¬c°"°a«jÑ8¼¸RÀ»ÑCÜˆAˆq�!�Q‹œ˜A˜r›
Ñ"¤3 q¨"£:Ñ-¬c°"°a«jÑ8¼¸RÀ»ÑCð	€Eð ˜˜�)ò KˆÜ! %¨¡(Ó+Ô0BÀ6Ó0JÐ/JÓJÐJÐJðKô
 	ˆAˆq�!�Q‹œ˜A˜r›
Ñ"¤3 q¨"£:Ñ-¬c°"°a«jÑ8¼¸RÀ»ÑCäˆAˆq�!�Q‹œ˜A˜r›
Ñ"¤3 q¨"£:Ñ-¬c°"°a«jÑ8¼¸RÀ»ÑCð€Eð
 ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c            	      óú  — t        ddt        ¬«      \  } }}}t        ddt        ¬«      \  }}}}t        | |||«      t        || «      z  t        ||«      z  t        || ||«      t        || «      z  t        ||«      z  t        | |||«      t        || «      z  t        ||«      z  g}|dd  D ]  }	t	        |d   «      t	        |	«      k7  rŒJ ‚ t        | |||«      t        || «      z  t        ||«      z  t        || ||«      t        || «      z  t        ||«      z  g}|dd  D ]  }	t	        |d   «      t	        |	«      k(  rŒJ ‚ t        | |||«      t        || «      z  t        ||«      z  t        | |||«      t        || «      z  t        ||«      z  g}|dd  D ]  }	t	        |d   «      t	        |	«      k7  rŒJ ‚ t        | |||«      t        || «      z  t        ||«      z  t        || ||«      t        ||«      z  t        || «      z  t        | |||«      t        || «      z  t        ||«      z  t        || ||«      t        ||«      z  t        || «      z  g}|dd  D ]  }	t	        |d   «      t	        |	«      k(  rŒJ ‚ y ©Nr¾   Tr¿   rK   rÀ   rY   r   rM  ©
rA   r_   r‰   rŠ   rP   rQ   rR   rS   r  r  s
             rG   Ú'test_equivalent_internal_lines_VT1T1_ATrV  L  s«  € Ü˜°¼%Ô@�J€A€qˆ!ˆQÜ˜°¼%Ô@�J€A€qˆ!ˆQô 	ˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ÜˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ÜˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ð€Eð
 ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJô 	ˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ÜˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ð€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJô 	ˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ÜˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ð€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJô 	ˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ÜˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ÜˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ÜˆAˆq�!�Q‹œ˜A˜q›	Ñ!¤# a¨£)Ñ+ð	€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c                  óà  — t        ddt        ¬«      \  } }}}}}t        ddt        ¬«      \  }}}}	}
}t        ddt        ¬«      \  }}}}t        ddt        ¬«      \  }}}}dd	lm} t	        ||||«      t        ||| |«      z  t        | |||«      z  } |||||	gd
«      }|j                  t        ||||gt        |«      «      «      }|D ]<  }t        ||||g|«      }|j                  |«      }t        |«      t        |«      k(  rŒ<J ‚ t	        ||||«      t        |||| «      z  t        || ||«      z  } |||||	gd
«      }|j                  t        ||||gt        |«      «      «      }|D ]<  }t        ||||g|«      }|j                  |«      }t        |«      t        |«      k(  rŒ<J ‚ t	        ||||«      t        ||| |«      z  t        || ||«      z  } |||||	gd
«      }|j                  t        ||||gt        |«      «      «      }|D ]<  }t        ||||g|«      }|j                  |«      }t        |«      t        |«      k(  rŒ<J ‚ t	        ||||«      t        |||| «      z  t        | |||«      z  } |||||	gd
«      }|j                  t        ||||gt        |«      «      «      }|D ]<  }t        ||||g|«      }|j                  |«      }t        |«      t        |«      k(  rŒ<J ‚ y ©Nr   Tr¿   r!  rÀ   r"  r#  r   r  ru   ©
r.   r,   r  r  rJ  rô   rl   r%  r&  r#   ©rA   r_   r‰   rŠ   ra   r`   rP   rQ   rR   rS   r   r>   rE   rF   r(  r)  r*  r+  r,  r-  r  r.  r/  r0  r  r1  rC   s                              rG   Ú+test_equivalent_internal_lines_VT2conjT2_ATr[  p  s?  € ä˜}¸$ÄEÔJÑ€A€qˆ!ˆQ��1Ü˜}¸$ÄEÔJÑ€A€qˆ!ˆQ��1Ü˜]¸Ä%ÔH�N€BˆˆB�Ü˜]¸Ä%ÔH�N€BˆˆB�å4ô �2�r˜2˜rÓ"¤3 r¨2¨q°!Ó#4Ñ4´S¸¸A¸rÀ2Ó5FÑF€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÜ! $Ó'Ô+=¸dÓ+CÓCÐCÐCðDô �2�r˜2˜rÓ"¤3 r¨2¨q°!Ó#4Ñ4´S¸¸A¸rÀ2Ó5FÑF€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÜ! $Ó'Ô+=¸dÓ+CÓCÐCÐCðDô �2�r˜2˜rÓ"¤3 r¨2¨q°!Ó#4Ñ4´S¸¸A¸rÀ2Ó5FÑF€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÜ! $Ó'Ô+=¸dÓ+CÓCÐCÐCðDô �2�r˜2˜rÓ"¤3 r¨2¨q°!Ó#4Ñ4´S¸¸A¸rÀ2Ó5FÑF€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÜ! $Ó'Ô+=¸dÓ+CÓCÐCÐCñDrI   c                  óX  — t        ddt        ¬«      \  } }}}}}t        ddt        ¬«      \  }}}}	}
}t        ddt        ¬«      \  }}}}t        ddt        ¬«      \  }}}}dd	lm} t	        ||||«      t        ||| |«      z  t        ||| |«      z  } |||||	gd
«      }|j                  t        ||||gt        |«      «      «      }|D ]<  }t        ||||g|«      }|j                  |«      }t        |«      t        |«      k(  rŒ<J ‚ t	        ||||«      t        |||| «      z  t        ||| |«      z  } |||||	gd
«      }|j                  t        ||||gt        |«      «      «      }|D ]<  }t        ||||g|«      }|j                  |«      }t        |«      t        |«      k(  rŒ<J ‚ y rX  rY  rZ  s                              rG   Ú;test_equivalent_internal_lines_VT2conjT2_ambiguous_order_ATr]  š  sÕ  € ô ˜}¸$ÄEÔJÑ€A€qˆ!ˆQ��1Ü˜}¸$ÄEÔJÑ€A€qˆ!ˆQ��1Ü˜]¸Ä%ÔH�N€BˆˆB�Ü˜]¸Ä%ÔH�N€BˆˆB�å4ô �2�r˜2˜rÓ"¤3 r¨2¨q°!Ó#4Ñ4´S¸¸RÀÀAÓ5FÑF€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÜ! $Ó'Ô+=¸dÓ+CÓCÐCÐCðDô �2�r˜2˜rÓ"¤3 r¨2¨q°!Ó#4Ñ4´S¸¸RÀÀAÓ5FÑF€HÙ˜Q  1 a˜L¨!Ó,€JØ�=‰=œ˜b " b¨"Ð-¬t°JÓ/?Ó@ÓA€DØò DˆÜ˜˜B  BÐ'¨Ó0ˆØ�}‰}˜XÓ&ˆÜ! $Ó'Ô+=¸dÓ+CÓCÐCÐCñDrI   c            
      ó€  — t        ddt        ¬«      \  } }}}t        ddt        ¬«      \  }}}}t        | |||«      t        ||| |«      z  t        || ||«      t        ||| |«      z  t        | |||«      t        ||| |«      z  g}|dd  D ]  }	t	        |d   «      t	        |	«      k7  rŒJ ‚ t        | |||«      t        ||| |«      z  t        | |||«      t        ||| |«      z  t        | |||«      t        |||| «      z  g}|dd  D ]  }	t	        |d   «      t	        |	«      k7  rŒJ ‚ t        | |||«      t        ||| |«      z  t        || ||«      t        |||| «      z  t        | |||«      t        ||| |«      z  t        || ||«      t        |||| «      z  g}|dd  D ]  }	t	        |d   «      t	        |	«      k(  rŒJ ‚ y rT  rM  rU  s
             rG   Ú%test_equivalent_internal_lines_VT2_ATr_  µ  s  € Ü˜°¼%Ô@�J€A€qˆ!ˆQÜ˜°¼%Ô@�J€A€qˆ!ˆQô 	ˆAˆq�!�Q‹œ˜A˜q ! Q›Ñ'ÜˆAˆq�!�Q‹œ˜A˜q ! Q›Ñ'ÜˆAˆq�!�Q‹œ˜A˜q ! Q›Ñ'ð	€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJô
 	ˆAˆq�!�Q‹œ˜A˜q ! Q›Ñ'ÜˆAˆq�!�Q‹œ˜A˜q ! Q›Ñ'ÜˆAˆq�!�Q‹œ˜A˜q ! Q›Ñ'ð	€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJô 	ˆAˆq�!�Q‹œ˜A˜q ! Q›Ñ'ÜˆAˆq�!�Q‹œ˜A˜q ! Q›Ñ'ÜˆAˆq�!�Q‹œ˜A˜q ! Q›Ñ'ÜˆAˆq�!�Q‹œ˜A˜q ! Q›Ñ'ð	€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c            
      ó�  — t        dd¬«      \  } }t        dd¬«      \  }}t        ddt        ¬«      \  }}t        ddt        ¬	«      \  }}t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  g}|d
d  D ]  }	t	        |d   «      t	        |	«      k(  rŒJ ‚ t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  g}|d
d  D ]  }	t	        |d   «      t	        |	«      k(  rŒJ ‚ t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  g}|d
d  D ]  }	t	        |d   «      t	        |	«      k(  rŒJ ‚ y rP  rM  rQ  s
             rG   Útest_internal_external_VT2T2_ATra  Õ  s  € Ü�U¨Ô-�F€BˆÜ�U¨Ô-�F€BˆÜ�5 d´Ô6�D€A€qÜ�5 d´Ô6�D€A€qô 	ˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ð	€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJô 	ˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨a°°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨a°°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨a°°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨a°°R¸Ó*;Ñ;ð	€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIðJô 	ˆAˆq�!�Q‹œ˜A˜r 2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜A˜r 2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜A˜r 2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜A˜r 2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ð	€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c            
      ó4  — t        d«      \  } }t        d«      \  }}t        dt        ¬«      \  }}t        dt        ¬«      \  }}t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  t        ||||«      t        ||| |«      z  t        ||||«      z  g}|dd  D ]  }	t	        |d   «      t	        |	«      k(  rŒJ ‚ y )Nrù   rþ   r	  rM   r
  rY   r   rM  rQ  s
             rG   Útest_internal_external_pqrs_ATrc  õ  s/  € Ü�U‹^�F€BˆÜ�U‹^�F€BˆÜ�5œeÔ$�D€A€qÜ�5œeÔ$�D€A€qô 	ˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ÜˆAˆq�!�Q‹œ˜B  2 qÓ)Ñ)¬#¨b°!°R¸Ó*;Ñ;ð	€Eð ˜˜�)ò JˆÜ! %¨¡(Ó+Ô/AÀ&Ó/IÓIÐIÐIñJrI   c                  óx   — t        d«      } t        t        t        | «      dz  t	        | «      «      «      dk(  sJ ‚y )NÚ0rZ   z(- \left[b_{0},{b^\dagger_{0}}^{2}\right])r-   r4   r   r   r	   )rP   s    rG   Útest_issue_19661rf    s=   € Üˆs‹€AÜ”œB˜q›E 1™H¤a¨£dÓ+ó ØCòDð Dñ DrI   c                  óº   — t        d«      } t        ddt        ¬«      \  }}t        ddt        ¬«      \  }}t        | ||f||f«      t        | ||f||f«       k(  sJ ‚y )Nrë   )rR   rS   TrÀ   )r‰   rŠ   r¿   )r.   r,   r   )rë   rR   rS   r‰   rŠ   s        rG   Ú+test_canonical_ordering_AntiSymmetricTensorrh    ss   € Ü�‹€Aä�9¨$Ü',ô.�D€A€qä�9¨$Ü',ô.�D€A€qô ˜q 1 a &¨1¨a¨&ó 
Ü! ! a¨ V¨a°¨VÓ4Ð4ò5ð 5ñ 5rI   N)vÚ$sympy.functions.elementary.complexesr   Ú&sympy.functions.elementary.exponentialr   Úsympy.physics.secondquantr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   Úsympy.concrete.summationsr&   Úsympy.core.functionr'   r(   Úsympy.core.numbersr)   r*   Úsympy.core.singletonr+   Úsympy.core.symbolr,   r-   r.   Ú(sympy.functions.elementary.miscellaneousr/   Úsympy.printing.reprr0   Úsympy.simplify.simplifyr1   Úsympy.testing.pytestr2   r3   Úsympy.printing.latexr4   rH   rV   rb   rh   rp   rr   r}   r€   r„   r†   r�   r�   r‘   r–   r¢   r±   rµ   r·   rº   r¼   rÃ   rÒ   rÔ   rÚ   rÜ   ré   rò   rö   rú   rü   r  r  r  r  r  r  r2  r4  r6  r8  r:  r=  rG  rJ  rô   rN  rR  rV  r[  r]  r_  ra  rc  rf  rh  © rI   rG   ú<module>rw     sª  ðÝ :Ý 6÷
÷ 
÷ 
÷ 
÷ 
÷ 
÷ 
÷ 
õ 
õ *ß 2ß ,Ý "ß 6Ñ 6Ý 9Ý %Ý ,ç -Ý &ò.ò&ò8%ò*ò6ò6ò-ò";ò'òò	:ò1ò	*ò
Sð ñ"ó ð"ò*eòZ`ò@'ò8	6òò0'òf'9òT#KòLOò$#ò. FòF=ò(>ò1ò-òNòCòJò22Jòj<ò)JòX/DòdDòB.Jòb$JòNJò*54òp(DòV9ò@òJò(Jò6!JòH'DòTDò6Jò@Jò@Jò Dó
5rI   