@@ -1262,6 +1262,11 @@ the gauge group SU(n). This dimension is given by the setting of the option \
1262
1262
(Ecker, Kambor and Wyler (1992), CERN-TH.6610/92). \
1263
1263
To evaluate use ArgumentsSupply.";
1264
1264
1265
+ CombinationLists::usage =
1266
+ "CombinationLists[l, n] returns a list of all possible sets containing n
1267
+ elements from the list l. (this function is probably in the combinatorics
1268
+ package, but we have enough in memory already)";
1269
+
1265
1270
Begin["`Package`"]
1266
1271
End[]
1267
1272
@@ -2588,25 +2593,10 @@ spanning SU(2) are defined (H. F. Jones, Groups, Representations and Physics,
2588
2593
SelfConjugation[$ScalarHeads[_]] :=
2589
2594
True;
2590
2595
2591
- (* --------------------------------------------------------------------- *)
2592
- (*Functions in context FeynCalc`Private`*)
2593
-
2594
- BeginPackage["FeynCalc`"];
2595
-
2596
- (*CombinationLists[l, n] returns a list of all possible sets containing n
2597
- elements from the list l. (this function is probably in the combinatorics
2598
- package, but we have enough in memory already)*)
2599
-
2600
- Begin["`Private`"];
2601
2596
2602
2597
CombinationLists[m_List, n_Integer] :=
2603
2598
Union[Select[Sort /@ Flatten[Outer[List, Sequence @@ Table[m, {n}]], n - 1], (Union[#] === #) &]];
2604
2599
2605
- End[];
2606
- EndPackage[];
2607
-
2608
- (* --------------------------------------------------------------------- *)
2609
-
2610
2600
2611
2601
Options[UGenerator] = {
2612
2602
SUNN -> 2,
@@ -5376,21 +5366,23 @@ dimensional representations (2 for SU(2) and 3 for SU(3)). *)
5376
5366
5377
5367
5378
5368
IsoIndicesSupply[aa_, (optss___Rule | optss___List)] :=
5379
- (
5380
- FCPrint[2,
5381
- "Starting with number ", $IsoIndicesCounter];
5369
+ Block[{tmp},
5370
+
5371
+ FCPrint[2, "Starting with number ", $IsoIndicesCounter];
5382
5372
iicintern = 0;
5383
- aa //.{
5373
+ tmp = aa //.{
5384
5374
(c_?(!FreeQ[{#}, IsoDot[_, _], Infinity] &))^n_ :> (FCPrint[2, "Fixing powers"]; times1 @@ Table[c, {n}])
5385
- } /. IsoSymmetricCross -> isctemp //. {
5386
- (
5387
- FCPrint[2, "Recursively resolving iso-vector products"];
5388
- {indicesdotrule[optss], indicescrossrule[optss], indicessymmcrossrule[optss]}
5389
- ) } /. {
5375
+ };
5376
+ tmp = tmp /. IsoSymmetricCross -> isctemp;
5377
+ FCPrint[2, "Recursively resolving iso-vector products"];
5378
+ tmp = tmp //. Join[{indicesdotrule[optss], indicescrossrule[optss], indicessymmcrossrule[optss]}];
5379
+
5380
+ tmp = tmp /. {
5390
5381
sunitemp -> SUNIndex,
5391
5382
supptemp -> id,
5392
5383
isctemp -> IsoSymmetricCross
5393
- } //. freeindicesrules0 /.
5384
+ };
5385
+ tmp = tmp //. freeindicesrules0 /.
5394
5386
If[ NumerateFree /. Flatten[{optss}] /. Options[IsoIndicesSupply],
5395
5387
FCPrint[2, "Non-contracted indices will be numerated"];
5396
5388
freeindicesrules1[optss],
@@ -5402,8 +5394,10 @@ dimensional representations (2 for SU(2) and 3 for SU(3)). *)
5402
5394
{
5403
5395
Conjugate[a_Symbol][(SUNIndex | ExplicitSUNIndex)[i_]][x_Symbol] :> Conjugate[a[x][SUNIndex[i]](*[x]*)],
5404
5396
Conjugate[a_Symbol][(SUNIndex | ExplicitSUNIndex)[i_]] :> Conjugate[a[SUNIndex[i]]]
5405
- }
5406
- );
5397
+ };
5398
+ tmp
5399
+ ];
5400
+
5407
5401
5408
5402
5409
5403
(* Support functions for UIndicesSupply: *)
0 commit comments