14

Running FullSimplify I get FullSimplify[z Conjugate[z] + 2 Abs[z]^2] 3 z Conjugate[z] This is actually more simple than 3 Abs[z]^2 in the eyes of FullSimplify. See here for more info. Simplify`SimplifyCount[3 z Conjugate[z]] 5 Simplify`SimplifyCount[3 Abs[z]^2] 6 Luckily there are many ways to guide FullSimplify. Here is one such way. FullSimplify[z ...


6

The $\gamma$ matrices are built-in, but undocumented, as Internal`DiracGammaMatrix[]. Their indexing is also a bit different from the wiki page: Table[Internal`DiracGammaMatrix[k, "Basis" -> "Dirac"] // MatrixForm, {k, 4}] $$\{\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 &...


6

AFAIK ModelMaker is not a very commonly used tool in model building. If you insist on using that, you probably should better contact Thomas Hahn directly. What people usually use in FeynRules. Here is an example on implementing $\phi^4$-model and exporting in to FeynArts: Phi4.fr M$ModelName = "Phi4"; M$Information = { Authors -> {"vsht"}, ...


6

A typical 1-loop calculation can be roughly (I'm obviously oversimplifying things here) understood as a sequence of the following steps You write down the Largrangian of your model, e.g. QCD, QED, EW SM, MSSM etc. and generate the corresponding Feynman rules. This is something FeynRules can do for your automatically. You use the obtained Feynman rules to ...


4

Hmm, actually I thought that I wrote it in the wiki in a pretty clear way. For FeynCalc 9.0: https://github.com/FeynCalc/feyncalc/wiki/FeynArts#patching_fa2 For FeynCalc 8.2: https://github.com/FeynCalc/feyncalc/wiki/FeynArts#patching_fa FeynCalc 9.0 is still in development (Development version), but will be released until the end of this year. The ...


4

DoPolarizationSums is your friend. ?DoPolarizationSums DoPolarizationSums[exp,k,n] sums over physical (transverse) polarizations of external massless vector bosons with momentum k. \ Here, n is an auxiliary four vector that goes into the gauge-dependent polarization sum to ensure \ that we are summing only over physical polarizations. ...


4

You are mixing things that don't belong together. KroneckerDelta is a built-in Mathematica object, while FV is FeynCalc's shortcut for a Lorentz 4-vector. FeynCalc's Contract naturally works only with FeynCalc objects. If you want to use FeynCalc for your purposes, you should write MT[u,v] instead. Since FeynCalc doesn't distinguish between upper and lower ...


4

If you look at ?FieldDerivative you see that it contains following text NOTICE: FieldDerivative is defined only for objects with head \ QuantumField[...]. If the space-time derivative of other objects is \ wanted, the corresponding rule must be specified. I.e. FieldDerivative is used for deriving Feynman rules, but not for differentiating Lorentz ...


4

Introduction I'll give a generic answer to a generic question (and mostly ignore Cuba). What is supposed to happen in the global-adaptive strategy is that each recursive refinement, which subdivides the interval with the largest integration error, should reduce the error estimate. But it doesn't always happen. Why not? Let's consider a few common, single-...


3

FeynCalc actually makes very little usage of ExplicitLorentzIndex. Such indices are not summed over but there are also no simplifications attached to them. Anyhow, I've just added an option called TypesettingExplicitLorentzIndex to the development version. This way you can define the formatting of ExplicitLorentzIndex according to your preferences. So if ...


3

You can define custom tensors in FeynCalc, but there is so not much you can do with them out of the box. Anyway, here is an example << FeynCalc` DeclareFCTensor[h]; Contract a h with the metric tensor h[LorentzIndex[mu], LorentzIndex[nu]] MT[mu, nu] // Contract Contract a h with a 4-vector Undo a contraction of h with a 4-vector Uncontract[h[...


3

Although I have nothing to do with FormCalc, I think that I understand what is the problem here: Since you want to compute self-energy, you need to use the option Truncated when generating the amplitudes. Otherwise the amplitude is generated with external spinors and vanishes because of the equation of motion (Dirac equation). The correct code reads: <&...


3

OK I think I got it. The final LeviCivita[] that remains has (of course) only Momentum[] as indices. In my case (as in most other cases) four-momentum conservation implies $$\tag{2} k+p = l+q $$ and I've got something like $$\tag{3}\epsilon^{klpq}.$$ Now substituting e.g. $k = l+q-p$ and EpsEvaluate[] the LeviCivita I get zero which is what I was looking for....


3

First of all you need to update to FeynCalc 9, FC 8.2 is already outdated. Please use the development version: https://github.com/FeynCalc/feyncalc/wiki/Installation#dev_automatic_installation I'm not using FeynRules myself, but I have already been asked to make FeynCalc compatible with FeynRules+FeynArts and according to the user who needed this, ...


3

Just use the same syntax as in your link: SUNTrace[Commutator[SUNT[SUNIndex[a]], SUNT[SUNIndex[b]]] Commutator[ SUNT[SUNIndex[c]], SUNT[SUNIndex[d]]], Explicit -> True] EDIT: Addressing additional question from OP's comments The thing is that if you write SUNTrace[SUNT[SUNIndex[a]].SUNT[SUNIndex[b]].SUNT[SUNIndex[c]].SUNT[SUNIndex[d]‌​], Explicit -...


3

You need to set the InsertionLevel option to {Classes} << FeynArts` $FAVerbose = 0; topologies2 = CreateTopologies[0, 2 -> 2, Adjacencies -> {3}, ExcludeTopologies -> {Tadpoles}]; AA3 = InsertFields[ topologies2, {F[2, {1}], F[2, {2}]} -> {F[2, {1}], F[2, {2}]}, Restrictions -> QEDOnly, InsertionLevel -> {Classes}]; ...


3

If you just want to verify some identities of Dirac gamma matrices in some certain representations. FeynCalc is not a necessity. Actually your choice of Dirac matrices is just the Weyl (chiral) representation: $$ \gamma^\mu = \left( \begin{array}{ll} 0 & \sigma^\mu \\ \overline{\sigma}^\mu & 0 \end{array}\right), $$ which specifically are $...


3

Disclaimer: The code presented below is not entirely written by me. I found some pieces online, wrote some others, tweaked them a bit, and I am pasting the final thing that I am using in my notebooks. I am just answering as I have been dealing a lot with the Dirac lately, and hopefully, I can help a bit. Firstly, let me give some piece of code that defines ...


2

The "standard" way to install FeynArts+FormCalc on OSX or Linux would be to use the automatic installation script from the developer. I'm quoting the second paragraph of www.feynarts.de The automatic installation script gets you started quickly and easily. NEW Major improvements for Cygwin and Mac. Download the shell script FeynInstall [6 kB, ...


2

Here's a short-worded solution for Mac OSX Mathematica 10. I am sure there are smoother ways to fix this but this worked for me: Autoinstall FeynCalc directly from Mathematica 10 by writing Import["http://www.feyncalc.org/install.m"] This will create a directory in /Users/Yourname/Library/Mathematica/Applications. The name of the directory will be ...


2

Provided that FeynArts was patched properly, which is mostly the case if the automatic installer is used, one can look at various examples involving FeynArts in the Examples subfolder of the FeynCalc installation: << FeynCalc` FileNameJoin[{$FeynCalcDirectory, "Examples"}]


2

You need to patch the model for use in FeynCalc: $LoadFeynArts=True; <<FeynCalc`; FAPatch[PatchModelsOnly -> True]


2

This is a Passarino-Veltman coefficient function, that appears when doing tensor decomposition of 1-loop integrals, see e.g. hep-ph/0509141 Often (especially for singular kinematics) one can define it only as a Feynman parameter integral. FeynCalc uses the same conventions as LoopTools, c.f. the LoopTools manual. For complicated kinematics, numerical ...


2

You need to enable CKM mixing first. E.g. << FeynArts` $FAVerbose = 0; $CKM = True; tops = CreateTopologies[0, 2 -> 2]; diags = InsertFields[ tops, {F[3, {1}], -F[4, {2}]} -> {-F[2, {2}], F[1, {2}]}, InsertionLevel -> {Classes}]; Paint[diags, ColumnsXRows -> {2, 1}, SheetHeader -> None, Numbering -> None, ImageSize -> ...


2

General recommendations are Do not put intermediate instances of Contract, the function works best on the full expression Do not put momenta inside lists like -{k1+k2}, this is a totally unsupported syntax Apart from that, Contract is much faster in the current development version (which will become FeynCalc 9.3) On my laptop (i5-6440HQ with 32 GB RAM ...


2

After following the instrunctions here, e.g. by Import["https://raw.githubusercontent.com/FeynCalc/feyncalc/master/install.m"] InstallFeynCalc[InstallFeynCalcDevelopmentVersion -> True] and running $LoadPhi = True; $Configuration = "ChPTVirtualPhotons2"; $Lagrangians = {ChPTVirtualPhotons2[2], ChPTVirtualPhotons2[4]}; Needs["FeynCalc`"] Lagrangian[...


2

It worked after implementing a forced patch as mentioned in the wiki https://github.com/FeynCalc/feyncalc/wiki/FeynArts under Patching FeynArts for FeynCalc 9.x and above.


2

The problem is actually a very simple one: once FeynCalc has been loaded, you cannot reload it or load FeynArts, TARCER, PHI, FeynHelpers or any other add-on without restarting the kernel. So doing something like <<FeynCalc` ... $LoadFeynArts=True; <<FeynCalc` will not work. You need to either issue Quit[] or go to Evaluation -> Quit ...


2

SetOptions[ComplexConjugate, FCRenameDummyIndices -> False] will not rename the repeated (dummy) indices.


2

If I understand the question correctly, what you need is Inner[Dot, x, y] Here is an example of working with Dirac matrices by representing them as 2x2 matrices containing Pauli matrices. From here on you should be able to cook up the code you need for your problem. gamma[0] = {{1, 0}, {0, -1}} gamma[i_] := {{0, CSI[i]}, {-CSI[i], 0}} blockMatrixProduct[x_] ...


Only top voted, non community-wiki answers of a minimum length are eligible