
    sg9                         d dl mZmZ d dlmZmZmZmZmZ d dl	m
ZmZmZmZmZmZ d dlmZ d Zd Zd Zd Zd	 Zd
 Zd Zy)    )eyeMatrix)tensor_indices
TensorHeadtensor_headsTensExprcanon_bp)GammaMatrixLorentzIndexkahane_simplifygamma_trace_simplify_single_linesimplify_gamma_expression)Symbolc                     t        |       } t        |      }t        | t              r| j                  |      S t        |t              r|j                  |       S | |k(  S N)r	   
isinstancer   equals)arg1arg2s     ^/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/hep/tests/test_gamma_matrices.py_is_tensor_eqr   	   sP    D>DD>D$!{{4  	D(	#{{4  4<    c           	      ")   t        dt              \  }}}}t        dt              \  }}}}	}
}t        dt              \  }}}}}}}}t        dt              \  }}}t        dt              \  }}}}}}}d }|dk(  rt        |      t        |      z  t        |      z  t        |      z  t        |       z  t        |      z  t        |       z  }t         | |      dt        |      z  t        |      z  t        |      z  dt        |      z  t        |      z  t        |      z  z
        sJ t        |      t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |	      z  t        |      z  t        |       z  t        |      z  t        |      z  t        |       z  t        |      z  t        |       z  t        |      z  t        |      z  t        |	       z  }t         | |      d	t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  d	t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  z   d	t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  z   d	t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  z         sJ d
 } t        |      t        |       z  } | |      }!t         | |      |!      sJ t        |      t        |      z  t        |       z  t        |       z  } | d|z  |dz  z
        }!t         | |      |!      sJ t        |      t        |      z  t        |       z  t        |       z  } | |dz        }!t         | |      |!      sJ t        |      t        |      z  t        |       z  t        |       z  t        |       z  t        |      z  } | d|z  d|dz  z  z
  |dz  z         }!t         | |      |!      sJ t        |      t        |      z  t        |      z  t        |       z  t        |       z  t        |       z  } | |dz        }!t         | |      |!      sJ t        |      t        |      z  t        |      z  t        |	      z  t        |       z  t        |       z  t        |       z  t        |	       z  } | d|z  d	|dz  z  z   d|dz  z  z
  |dz  z         }!t         | |      |!      sJ t        |       t        |       z  t        |       z  t        |       z  t        |      z  t        |      z  t        |      z  t        |      z  } | d|z  d|dz  z  z   d|dz  z  z
  |dz  z         }!t         | |      |!      sJ t        |       t        |      z  t        |       z  t        |      z  t        |      z  t        |       z  t        |      z  t        |       z  } | d|z  d|dz  z  z
  d|dz  z  z   |dz  z
        }!t         | |      |!      sJ t        |      t        |      z  t        |      z  t        |	      z  t        |
      z  t        |       z  t        |       z  t        |       z  t        |
       z  t        |	       z  } | d|z  d|dz  z  z
  d|dz  z  z   d|dz  z  z
  |dz  z         }!t         | |      |!      sJ t        |      t        |      z  t        |      z  t        |	      z  t        |
      z  t        |       z  t        |       z  t        |       z  t        |	       z  t        |
       z  } | d|z  d|dz  z  z
  d|dz  z  z   d	|dz  z  z
  |dz  z         }!t         | |      |!      sJ t        |      t        |      z  t        |      z  t        |	      z  t        |
      z  t        |      z  t        |       z  t        |       z  t        |       z  t        |       z  t        |
       z  t        |	       z  } | d|z  d|dz  z  z
  d|dz  z  z   d|dz  z  z
  d|dz  z  z   |dz  z
        }!t         | |      |!      sJ t        |      t        |      z  t        |      z  t        |	      z  t        |
      z  t        |      z  t        |       z  t        |       z  t        |       z  t        |       z  t        |	       z  t        |
       z  } | d|z  d|dz  z  z
  d|dz  z  z   d |dz  z  z
  d!|dz  z  z   |dz  z
        }!t         | |      |!      sJ t        |      t        |      z  t        |      z  t        |      z  t        |       z  }t         | |      d"t        |      z  t        |      z  t        |      z  d|z
  t        |      z  t        |      z  t        |      z  z         sJ t        |      t        |      z  t        |       z  }t         | |      d|z
  t        |      z        sJ t        |      t        |      z  t        |      z  t        |       z  }t         | |      dt        |      z  t        |      z  dt        |      z  t        |      z  z   d|z
  t        |      z  t        |      z  z
        sJ dt        |      z  t        |      z  t        |      z  t        |       z  t        |       z  } | |      }"t        |"|d"|z  dz   z  t        |      z        sJ t        |      t        |      z  t        |      z  t        |       z  t        |       z  } | |      }"t        |"| dz   dz  t        |      z        sJ t        |      t        |      z  t        |      z  t        |      z  t        |       z  } | |      }"t        |"|dz
  t        |      z  t        |      z  t        |      z  dt        |      z   |||      z  z         sJ t        |      t        |      z  t        |      z  t        |      z  t        |       z  t        |       z  } | |      }"t        |"|dz
  dz  t        |      z  t        |      z  d|z  d	z
   |||      z  z         sJ t        |      t        |      z  t        |      z  t        |       z  t        |       z  } | |      }"t        |"| dz   |dz
  z  dz   t        |      z        sJ t        |      t        |      z  t        |      z  t        |      z  t        |       z  t        |       z  t        |       z  } | |      }"t        |"d|z  | dz   dz  |dz
  z  z   dz   t        |      z        sJ dt        |      z  t        |      z  t        |      z  t        |      z  t        |       z  } | |      }"t        |"d"|z  dz   t        |      z  t        |      z  t        |      z  dt        |      z  t        |      z  t        |      z  z
        sJ t        |      t        |      z  t        |      z  t        |      z  t        |      z  t        |       z  t        |      z  t        |       z  } | |      }"t        |"| dz   | dz   z  t        |      z  t        |      z  t        |      z  t        |      z  d|z  dz
  t        |      z  t        |      z  t        |      z  t        |      z  z         sJ t        |       t        |      z  t        |      z  t        |      z  t        |       z  t        |      z  } | |      }"t        |"|dz
  t        |      z  t        |      z  t        |      z  t        |      z  dt        |      z  t        |      z  t        |      z  t        |      z  z         sJ t        |       t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |       z  t        |      z  } | |      }"| dz   dz  dz   t        |      z  t        |      z  t        |      z  t        |      z  d|z  d	z
  t        |      z  t        |      z  t        |      z  t        |      z  z   d|z  d	z
  t        |      z  t        |      z  t        |      z  t        |      z  z   dt        |      z  t        |      z  t        |      z  t        |      z  z   dt        |      z  t        |      z  t        |      z  t        |      z  z   dt        |      z  t        |      z  t        |      z  t        |      z  z   }#dt        |      z  t        |      z  t        |      z  t        |      z  dt        |      z  t        |      z  t        |      z  t        |      z  z   }$|dk(  rt        |"|#      st        |"|$      sJ t        |"|#      sJ t        |      } | |      }"t        |"|      sJ d#t        |      z  } | |      }"t        |"|      sJ d$t        |      z  t        |      z  t        |       z  t        |      z  } | |      }"t        |"|      sJ y%)&a  
    Perform tests to check if sfunc is able to simplify gamma matrix expressions.

    Parameters
    ==========

    `sfunc`     a function to simplify a `TIDS`, shall return the simplified `TIDS`.
    `D`         the number of dimension (in most cases `D=4`).

    mu, nu, rho, sigmaza1:7z.mu11, mu12, mu21, mu31, mu32, mu41, mu51, mu52zmu61, mu71, mu72m0:7c                 f    t        |       t        |      z  t        |      t        |       z  z   dz  S )N   )G)xxyys     r   gz4execute_gamma_simplify_tests_for_function.<locals>.g$   s*    "aeaeAbEk)1,,r         c                     | t        d      z  S )Nr#   )r   )nes    r   	add_deltaz<execute_gamma_simplify_tests_for_function.<locals>.add_delta9   s    CF{r   r                  @   p   <      x   H   i  i0  i        iP  iH        i   N)r   r   r   r   )%tfuncDmunurhosigmaa1a2a3a4a5a6mu11mu12mu21mu31mu32mu41mu51mu52mu61mu71mu72m0m1m2m3m4m5m6r"   tr(   tsstresult1result2s%                                        r   )execute_gamma_simplify_tests_for_functionr_      s&    ((<lKBC+FLABBB5CDt  wC  6D2D$dD$d%&8,GD$!/!EBBBB- 	AvrU1T7]1R5 4(B3/$72#>U1Xr!D'z!D''9!D''AAagIaPTgDUVWX\V]D]']^^^rU1T7]1T7"e$$%dG,e$$%dG,,-dG4  e$ %&dG,  f	% &'tW	- ./tW	5
  f%
 &'tW-  f% &'tW- ./tW5  f% U1XqwJqwqw&qw.qw6qw>qwFqwNqQUwVWXY]W^^_`ae_ffiklmnrlsistuvzt{i{|}  C  }D  jD  EF  GK  EL  jL  MN  OS  MT  jT  UV  W[  U\  j\  ]^  _c  ]d  jd  ef  gk  el  jl  mn  os  mt  jt  uv  w{  u|  j|  }~  C  }D  jD  D  GI  JK  LP  JQ  GQ  RS  TX  RY  GY  Z[  \`  Za  Ga  bc  dh  bi  Gi  jk  lp  jq  Gq  rs  tx  ry  Gy  z{  |@  zA  GA  BC  DH  BI  GI  JK  LP  JQ  GQ  RS  TX  RY  GY  Z[  \`  Za  Ga  a  df  gh  im  gn  dn  op  qu  ov  dv  wx  y}  w~  d~  @  AE  F  dF  GH  IM  GN  dN  OP  QU  OV  dV  WX  Y]  W^  d^  _`  ae  _f  df  gh  im  gn  dn  op  qu  ov  dv  wx  y}  w~  d~  ~ 	 
 
2q"vA	1Bq2&&&	
2quQsV	ArcF	"A	1Q3A:	Bq2&&&	
2quQsV	ArcF	"A	1a4Bq2&&&	
2quQtW	QsV	#ArcF	*1S6	1A	1Q31a4<!Q$&	'Bq2&&&	
2quQsV	AsdG	#ArcF	*1bS6	1A	1a4Bq2&&&	
2quQrU	1R5	 B3	'2#	.q"v	5af	<A	2a4"QT'>AadF*QT1	2Bq2&&&	
B32#q#w	q%y	(2	.qu	4QuX	=af	DA	3q52ad7?Qq!tV+ad2	3Bq2&&&	
B3"ag	ah	&qv	-af	4QrU	:1eV9	DA	1Q3AqD=1QT6)AqD0	1Bq2&&&	
2quQrU	1R5	 2	&q"v	-af	4QsV	;ArcF	B1bS6	IA	2a4#ad(?R1W,r!Q$w6A=	>Bq2&&&	
2quQrU	1R5	 2	&q"v	-af	4QsV	;ArcF	B1bS6	IA	2a4#ad(?R1W,r!Q$w6A=	>Bq2&&&	
2quQrU	1R5	 2	&qu	,QsV	3ArcF	:1bS6	A!RC&	HB3	OPQSURUPV	VA	3q53q!t8#c!Q$h.QT9Bq!tGCadJ	KBq2&&&	
2quQrU	1R5	 2	&qu	,QsV	3ArcF	:1bS6	A!RC&	HB3	OPQSURUPV	VA	3q53q!t8#c!Q$h.QT9Bq!tGCadJ	KBq2&&& 
2quQsV	AeH	$QsV	+AqBqxK#$6qu$<!QrU{1S6?QRSTYRZ?Z$Z\\\	
2quQsV	AqAaC2;///	
2quQsV	ArcF	"Aq1QrU71S6>AafHQrUN#Bac1R5[QRSVQWEW#WXXX	!B%"aeArcF"1bS6)A	qBaAlAbE1222	"aeAbE!RC& B3'A	qBrAvk1R50111	"aeAbE!B%2#&A	qBa!eQrU]1R50261R52r9JJKKK	"aeAbE!B%2#&q"v-A	qBq1uqj!B%/"51r1R98LLMMM	"aeAbE!RC& B3'A	qBrAvA.2AbE9:::	"aeAbE!B%2#&q"v-af4A	qBbdqb1fq[!a%%881<aeCDDD	!B%"aeAbE!!RC&(A	qBr!tax2.qu4QrU:QquWQrU]1R5=PPRRR	"aeAbE!B%"%af,QrU21bS69A	qBQ!a0!B%7"=aeCAbEIQqSSTWVWXZV[O\]^`\aLabcdfbgLghijlhmLmmooo	
2quQrU1R5 B3'"-A	qBq1uaemAbE1!B%7"=!B%"aPRe@STUVXTY@YY[[[	2#quQrU1R5 2&qu,QsV3AbE9A	qBQ{Q"%ae+AbE1!B%7	
1r1R52qu$QrU*+./cBh"-=ae-CAbE-I!B%-OP
AbE'!B%-"
ae
#$&'"gaemAbE&9!B%&?@ 	
!B%"aeAbE!"G "gaemAbE!!B%'!AbE'!B%-"*=ae*CCGAvR'+}R'/KKKR'+++ 	
"A	qBQ
1R5A	qBQAbE	!B%2#qu$A	qBQr   c                  $    d } t        | d       y )Nc                     t        |       S r   )r   )es    r   r<   z$test_kahane_algorithm.<locals>.tfunc   s    $Q''r   r#   r=   )r_   )r<   s    r   test_kahane_algorithmrd      s    ( .eq9r   c                     t        dt              \  } }}}}}}}}}	}
}}}}}t        dt              \  }}}}d}t        |       t        |      z  }t        |      }|j	                  |      sJ t        |       t        |      z  t        |        z  }t        |      }|j	                  dt        |      z        sJ t        |       t        |      z  t        |        z  }t        |      }|j	                  dt        |      z        sJ t        |       t        |      z  }t        |      }|j	                  |      sJ t        |       t        |      z  }t        |      }|j	                  |      sJ t        |       t        |        z  }t        |      }|j	                  dt        d      z        sJ t        |       t        |        z  }t        |      }|j	                  dt        d      z        sJ t        |       t        |        z  }t        |      }|j	                  dt        d      z        sJ t        |       t        |      z  t        |        z  }t        |      }|j	                  dt        |      z        sJ t        |       t        |      z  t        |        z  t        |       z  }t        |      }|j	                  d|z  |dz  z
  t        d      z        sJ t        |       t        |      z  t        |        z  t        |       z  }t        |      }|j	                  d|z  |dz  z
  t        d      z        sJ t        |       t        |        z  t        |      z  t        |       z  }t        |      }|j	                  dt        d      z        sJ t        |      t        |      z  t        |       z  t        |       z  }t        |      }|j	                  |dz  t        d      z        sJ t        |      t        |      z  t        |       z  t        |       z  }t        |      }|j	                  |dz  t        d      z        sJ t        |      t        |      z  t        |       z  t        |       z  }t        |      }|j	                  |dz  t        d      z        sJ t        |      t        |      z  t        |       z  t        |       z  t        |       z  t        |      z  }t        |      }|j	                  d|z  d|dz  z  z
  |dz  z   t        d      z        sJ t        |       t        |       z  t        |       z  t        |       z  t        |      z  t        |      z  t        |      z  t        |      z  }t        |      }|j	                  d|z  d	|dz  z  z   d
|dz  z  z
  |dz  z   t        d      z        sJ t        |       t        |      z  t        |       z  t        |      z  t        |      z  t        |       z  t        |      z  t        |       z  }t        |      }|j	                  d
|z  d|dz  z  z
  d|dz  z  z   |dz  z
  t        d      z        sJ t        |      t        |      z  t        |      z  t        |      z  t        |       z  }t        |      }|j	                  dt        |      z  t        |      z  t        |      z        sJ t        |      t        |       z  t        |      z  t        |      z  }t        |      }|j	                  dt        |      z  t        |      z        sJ t        |      t        |      z  t        |      z  t        |       z  }t        |      }|j	                  dt        |      z  t        |      z        sJ y )Nzi0:16r   r#   r:   r   r%   r)   r,   r-   r+   r.   r/   )r   r   r   r   r   r   )i0i1i2i3i4i5i6i7i8i9i10i11i12i13i14i15r>   r?   r@   rA   r=   rZ   rs                          r   test_kahane_simplify1rw      s   <J7T`<a9Br"R2bBr#c#c#c'(<lKBC	A	"aeAA88A;;	"aeArcFAA88BquH	"aeArcFAA88BquH	"aeAA88A;;	"aeAA88A;;	"afAA88Ac!fH	"afAA88Ac!fH	"afAA88Ac!fH	"aeArcFAA88BquH	"aeArcF1bS6!AA88QqS1a4ZQ'(((	"aeArcF1bS6!AA88QqS1a4ZQ'(((	"afQrU1bS6!AA88Bs1vI	
2quQsV	ArcF	"AA88AqDQK   	
2quQsV	ArcF	"AA88AqDQK   	
2quQsV	ArcF	"AA88AqDQK   	
2quQtW	QsV	#ArcF	*1S6	1AA88QqS1QT6\AqD(#a&0111	
B32#q#w	q%y	(2	.qu	4QuX	=af	DAA88SUR1W_qAv-14c!f<===	
B3"ag	ah	&qv	-af	4QrU	:1eV9	DAA88QqS2ad7]Qq!tV+ad2CF:;;; 
2quQsV	AeH	$QsV	+AA88BqxK#&qu,---	
2q"vaf	QuX	%AA88AafHQuX%&&&	
3%2	q"v	%AA88AafHQuX%&&&r   c            
         t        dt              \  } }}t        dt        g      } ||      t        |       z  t        |        z  }t	        |      }t        |t        g dg dg dg dg       ||      z        sJ t        |        ||      z  t        |      z  }t	        |      }t        | ||      t        |       z  t        |      z        sJ t        t        d       y )	Nzi,j,kA)r#   r   r   r   )r   r#   r   r   )r   r   r#   r   )r   r   r   r#   r#   rc   )r   r   r   r   r   r   r   r_   )ijkry   rZ   r[   s         r   test_gamma_matrix_classr}     s    Wl3GAq! 	3'A	!QqT	!QB%A	"1	%BV	%  t	    	
!QqT	!A$A	"1	%BQqT!A$Yqt^,,,-.G1Mr   c            
         t         j                  } t        dt               \  }}}}}}}t        dt               \  }}	}
}}}d}t        |      }t	        |      }|j                  d      sJ t        |      t        |      z  t        |      z  }t	        |      }|j                  d      sJ t        |      t        |      z  t        |       z  }t	        |      }|j                  d      sJ t        |      t        |      z  t        |      z  t        |      z  t        |      z  }t	        |      }|j                  d      sJ t        |      t        |      z  }t	        |      }t        |d | ||      z        sJ t        |      t        |      z  t        |      z  t        |      z  }t	        |      }d | ||      z   | ||      z  d | ||      z   | ||      z  z   d | ||      z   | ||      z  z   }t        ||      sJ t        |      t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  }t	        |      }| | | |       z  }|j                  |       }t        ||t	        t        |      t        |      z  t        |      z  t        |      z        z        sJ t        |      t        |       z  }t	        |      }|j                  d|z        sJ t        |      t        |      z  t        |       z  t        |       z  }t	        |      }|j                  d|z  d|dz  z  z
        sJ t        |      t        |      z  t        |      z  t        |      z  t        |      z  t        |       z  }t	        |      }d|z   | ||      z   | ||      z  d|z   | ||      z   | ||      z  z   d|z   | ||      z   | ||      z  z   }t        ||      sJ t        |       t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |       z  t        |      z  }t	        |      }d|z  d| dz   dz  z  z   d	z
   | ||       | ||      z   | ||       | ||      z  z
   | ||       | ||      z  z   z  }t        ||      sJ t        |      t        |      z  t        |       z  t        |      z  }t	        |      }|j                  d|z  dz    | ||      z        sJ t        |      t        |      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |       z  t        |       z  t        |       z  t        |       z  t        |       z  t        |       z  }t	        |      }|j                  d|d
z  z  d|dz  z  z   d|dz  z  z
  d|dz  z  z   d|dz  z  z
  d|z  z         sJ t        |      t        |      z  t        |	      z  t        |      z  t        |
      z  t        |      z  t        |      z  t        |
       z  t        |	       z  t        |       z  t        |       z  t        |       z  t        |       z  t        |       z  }t	        |      }d|z  d|dz  z  z   d|dz  z  z
  d|dz  z  z   d|dz  z  z
  d|d
z  z  z   d|dz  z  z
  }|j                  |      sJ t        |      t        |      z  t        |	      z  t        |      z  t        |
      z  t        |      z  t        |      z  t        |      z  t        |      z  t        |       z  t        |       z  t        |       z  t        |       z  t        |       z  }t	        |      }d|dz  z  d|dz  z  z   d|dz  z  z
  d|dz  z  z   d|z  z
  dz   }d|dz  z  d|dz  z  z   d|dz  z  z
  d|dz  z  z   d|z  z
  d z   }t        || | |	|      z   | |
|      z  | | |	|
      z   | ||      z  z   |  | |	|      z   | |
|      z  z         sJ t        d!t         g      \  }} ||      t        |       z  } ||      t        |       z  } ||       ||       z  } ||       ||       z  } ||       ||       z  }||z  |z  |z  }t	        |      }t        |d|z  |z  d|z  |z  z
        sJ ||z  |z  |z  |z  |z  }t	        |      }t        |d"|z  |z  |z  d#|z  |z  |z  z         sJ ||z  |z  |z  |z  |z  |z  |z  }t	        |      }t        |d$|z  |z  |z  |z  d|z  |z  |z  |z  z   d|z  |z  |z  |z  z         sJ d ||      z   ||      z   ||       z   ||       z   ||      z   ||       z  }t        t	        |      |      sJ ||z  |z  |z  |z  |z  |z  |z  }t	        |      }|j                  d|z  |z  |z  |z        sJ y )%Nr   zn0:6r#   r   r$   r+   r       r0   r/   r4   r3   i  i   r)   i  i   i iA  i@8  i   i     i  i  i@)  i  X   i0  i  i@  i  zp,qir%   i)	r   metricr   r   r   r   r   contract_metricr   )r"   rS   rT   rU   rV   rW   rX   rY   n0n1n2n3n4n5r=   rZ   t1t2tresuc1c2pqpsqsp2q2pqrv   s                                r   test_gamma_matrix_tracer   !  sK
   A!/!EBBBB+FLABBB 	
A 	
"A	QB99Q<<	"aeAbEA	QB99Q<<	"aeArcFA	QB99Q<<	"aeAbE!B%"%A	QB99Q<< 	
"aeA	QBQqRy[)))	"aeAbE!B%A	QB	Ab"IaBi	!Ab"I+aBi"7	7!Ab"I+aBi:O	OBR   	"aeAbE!B%"%ae+A	QB	ArcB3KB			A	BQ{1R52;qu+<QrU+BCCDDD 	
"afA	QB99QqS>>	"aeArcF1bS6!A	QB99QqS1QT6\"""	"aeAbE!B%"%af,A	QB
Q$"b		!B)	#qsAb"IoaBi&?	?A#qRy2r*
+BR   	2#quQrU1R5 2&qu,QsV3AbE9A	QB
Q$QBFQ;

#aBi"b	&9b"IaBi' "#B)Ab"I"5'6 
7BR   	"aeArcF1R5 A	QB99bdQh"b	)*** 	
"aeAbE!B%"%ae+ArcF21bS69!RC&@B3G2#NqRTQTvUA	QB99R1Ws1a4x'$q!t)3d1a4i?$q!t)KdSTfTUUU	"aeAbE!B%"%ae+AbE1!RC&8B3?2#Fq"vMaQSPSfTUVXZWZU[[\]_a^a\bbA	QB!GeAqDj 5A:-QT	9DAIEAqDPSTUVXYUYSYYE99U 	
"aeAbE!B%"%ae+AbE1!B%7"=afDQsVKArcFRSTVXUXSYYZ[]_\_Z``A	QB	AqD3q!t8	d1a4i	'$q!t)	3eAg	=	DB	AqD2ad7	SAX	%QT		1DF	:S	@BR"b	\!B)3b2rl1R96LLS!B)OAb"I%& ' ' ' ~.DAq	
2q"vB	
2q"vB	
2q"vB	
2q"vB	
2q"vB
2bAAAAbDGad2g-...
2bBrAAACF2IbL2b58B;6777
2bBr"RAAACF2IbLObeBhrk"n<qtBwrz"}LMMM	!B%"afQsV#AbE)!RC&0AQ+++
2bBr"RAAA88AbDGBJrM"""r   c                  J   t        dt        g      \  } }}t        dt              \  }}}}}t        d      } | |      t	        |       z  }	 ||      t	        |       z  }
 ||      t	        |       z  }|t	        |      z  |
z  t	        |      z  |	z  t	        |       z  |
z  t	        |       z  }|t	        |      z  |
z  t	        |      z  |	z  |z  t	        |       z   | |       z  }t        |      }t        |      }t        ||z         }|dd ||      z   ||       z   ||      z   | |       z  d ||      z   ||      z   ||       z   | |       z  z   z  k(  sJ |d|z   ||      z   ||       z   | |      z   | |       z  k(  sJ |||z   k(  sJ y)	zkTest issue 13636 regarding handling traces of sums of products
    of GammaMatrix mixed with other factors.z
pi, ki, pfzi0:5xr#   r$   r+   r*   N)r   r   r   r   r   r   )pikipfrf   rg   rh   ri   rj   r   piskispfsabtatb
t_a_plus_bs                    r   test_bug_13636r     s    l\N;JBB'=BBBsA
R&1bS6/C
R&1bS6/C
R&1bS6/CaecAbE!C'!RC&036B3?AaecAbE!C'!+af4r2#w>A	QB	QBQU#J
RVb"g2&RC0
bf*r"v
B3
'"bS'
1	2    a"R&2rc7*RV3b"g====b   r   N)sympy.matrices.denser   r   sympy.tensor.tensorr   r   r   r   r	    sympy.physics.hep.gamma_matricesr
   r   r   r   r   r   r   sympyr   r   r_   rd   rw   r}   r   r    r   r   <module>r      sK    , S S f R:F'PN*s#l!r   