vermaseren / form

The FORM project for symbolic manipulation of very big expressions
GNU General Public License v3.0
1.15k stars 136 forks source link

g_ wildcard replacement #328

Open mgerlach-phys opened 4 years ago

mgerlach-phys commented 4 years ago

Wildcard replacement that work on general tensors do not work on g_. As can be seen in

symbol x;
index i,j,k1,k2;
t g;

local A = g_(1, i, j); 
local B = g(1, i, j); 

print;
.sort

id g_(?x, k1?, k2?) = g_(?x, k2, k1);
id g(?x, k1?, k2?) = g(?x, k2, k1);

print;
.end
vermaseren commented 4 years ago

g_ is a very special object with its own rules and a completely ‘private’ treatment. It is simultaneously a string of matrices or a sequence of individual matrices. Hence ?a cannot work in it.

Anytime you want to do something nontrivial with gamma matrices, it is best to emulate your own. If you want to use the built in trace algorithms, you convert to g_ at the last moment.

Cheers

Jos

On 7 Nov 2019, at 10:13, mgerlach-phys notifications@github.com wrote:

Wildcard replacement that work on general tensors do not work on g_. As can be seen in

symbol x; index i,j,k1,k2; t g;

local A = g_(1, i, j); local B = g(1, i, j);

print; .sort

id g(?x, k1?, k2?) = g(?x, k2, k1); id g(?x, k1?, k2?) = g(?x, k2, k1);

print; .end — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/vermaseren/form/issues/328?email_source=notifications&email_token=ABJPCETR6GUATZMBPSDE7ZDQSPL5PA5CNFSM4JKDTBL2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HXRMNTA, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJPCETTYYTOVX4YHK2GM63QSPL5PANCNFSM4JKDTBLQ.

mgerlach-phys commented 4 years ago

Dear Jos,

thanks for your reply. In that case it would be a good idea to provide the multi-argument wildcard replacement since, for example,

id g_(i?, k1?, k2?) = g_(i, k2, k1);

works as intended.

Best, Marvin

vermaseren commented 4 years ago

That would be a nice assignment for the second week of the Form workshop coming August. It might be too difficult though, due to ‘backtracking’.

Personally I do not have time for this. At the moment I try to concentrate on completely novel aspects.

Cheers

Jos

On 7 Nov 2019, at 10:51, mgerlach-phys notifications@github.com wrote:

Dear Jos,

thanks for your reply. In that case it would be a good idea to provide the multi-argument wildcard replacement since, for example,

id g(i?, k1?, k2?) = g(i, k2, k1); works as intended.

Best, Marvin

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/vermaseren/form/issues/328?email_source=notifications&email_token=ABJPCETI6VUC7GC5ZY5BUNTQSPQK3A5CNFSM4JKDTBL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDL23UQ#issuecomment-551005650, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJPCEQJNYUFZNVVMULZ5MLQSPQK3ANCNFSM4JKDTBLQ.