**Next message:**J. Romao: "Error in OneLoop"**Previous message:**TheDude: "Derivatives in Feyncalc"**In reply to:**TheDude: "Derivatives in Feyncalc"**Messages sorted by:**[ date ] [ thread ] [ subject ] [ author ]**Mail actions:**[ respond to this message ] [ mail a new topic ]

Hi,

first of all, I'm afraid that you are expecting a bit too much of

the partial derivatives implemented in FeynCalc. One of the main

(original) reasons for introducing them was to have some functionality

for deriving Feynman rules from certain types of Lagrangians or operators.

Unfortunately, it never really evolved to something more than

what Rolf, Frederik and myself eventually encountered in our research.

Moreover, the derivation of Feynman rules can be nowadays conveniently done

in FeynRules, so there is not much popular demand to improve on what is

already

in FeynCalc.

Now regarding your questions.

1)

You can explicitly specify the commutator and anticommutators of arbitrary

noncommutative objects that would be taken into account by DotSimplify.

However,

while doing this example I realized that the corresponding functionality

was not

working for patterns. This should be now fixed. Please reinstall

FeynCalc the same

way you installed it and try

(*original behavior*)

DotSimplify[

ExpandPartialD[QuantumField[A].QuantumField[A].LeftPartialD[nu]]]

(*after we specify that A-fields and their derivatives commute *)

Commutator[QuantumField[FCPartialD[LorentzIndex[xxx_]], A],

QuantumField[A]] = 0;

DotSimplify[

ExpandPartialD[QuantumField[A].QuantumField[A].LeftPartialD[nu]]]

Another thing I realized, is that after having set the (anti)commutator,

there is no convenient way to unset it, unless one filters the

DownValues of Commutator and AntiCommutator by hand. So I added

UnDeclareCommutator and UnDeclareAntiCommutator to the development version.

Unfortunately, this will not go into the stable version, since it by

definition

may receive only bugfixes but not new features.

2)

FeynCalc does not natively support working with expressions that contain

explicit

matrices. There are just too many ambiguities that one can run into and

I'm not

particularly enthusiastic about adding extra layers of complexity to

account for that.

For example, if you have something like

A.{{a, b}, {c, d}}.B

then the code must explicitly know whether A and B are scalars (possibly

noncommuting ones) or just shortcuts for other 2x2 matrices. Matrices

can also live in different spaces (like color and Dirac) which is

important to determine whether they commute or not. This is why users

who want to use explicit matrices usually cook up some extra code to

account for that. Something like

ex = Map[DOT[RightPartialD[mu], #] &, {{QuantumField[A1]^2,

QuantumField[A2]^2}, {QuantumField[A3]^2,

QuantumField[A4]^2}}, {2}]

ExpandPartialD[ex]

3)

FCPartialD is not an end-user function. It is an internal marker that

appears inside

QuantumFields to denote that they are differentiated w.r.t something.

Instead of

ExpandPartialD[FCPartialD[\[Nu]].(QuantumField[A].QuantumField[A])]

you should write

ExpandPartialD[RightPartialD[\[Nu]].(QuantumField[A].QuantumField[A])]

Cheers,

Vladyslav

Am 30.01.19 um 11:29 schrieb TheDude:

*> I have encountered several problems regarding the application of formal derivative operators in FeynCalc, using the built-in function FCPartialD, Left/RightPartialD.
*

*>
*

*> I have difficulties in displaying the Tex on this forum, so I am linking the question I posted on mathematica stack exchange:
*

*>
*

*> https://mathematica.stackexchange.com/questions/190481/abstract-derivatives-in-feyncalc
*

*>
*

**Next message:**J. Romao: "Error in OneLoop"**Previous message:**TheDude: "Derivatives in Feyncalc"**In reply to:**TheDude: "Derivatives in Feyncalc"**Messages sorted by:**[ date ] [ thread ] [ subject ] [ author ]**Mail actions:**[ respond to this message ] [ mail a new topic ]

*
This archive was generated by hypermail 2b29
: 02/16/19-06:40:01 PM Z CET
*