# [GiNaC-list] question about lorentz_g contract with sy_anti tensor

Vladimir V. Kisil kisilv at maths.leeds.ac.uk
Thu May 23 11:45:50 CEST 2019

```>>>>> On Thu, 23 May 2019 00:57:21 +0000, Feng Feng <F.Feng at outlook.com> said:

FF> Hi all, I wonder is there a way or method to simplify the
FF> expression with a sy_anti tensor contracted with a lorent_g to
FF> 0?

You will get 0 if you will use

auto ret = indexed(A, sy_anti(0,1,2,3), ia,ib,ic,id) * lorentz_g(ic, id.toggle_variance());

Anti-symmetry is not applied to varidx with different variance.
--
Book:     Geometry of Mobius Transformations     http://goo.gl/EaG2Vu
Software: Geometry of cycles          http://moebinv.sourceforge.net/

FF> Please have a look at the following code, I expect ret is 0, and
FF> the output looks like “A~b~a.c~c”, it is actually

FF> 0 due to the sy_anti, but I wonder, is there a way or a method
FF> to simplify those expression directly to 0?

FF> Thanks very much!

FF> using namespace GiNaC;

FF> using namespace std;

FF> int main(int argc, char** argv) {

FF>     symbol a("a"), b("b"), c("c"), d("d"), A("A");

FF>     symbol D("D");

FF>     varidx ia(a,D), ib(b,D), ic(c,D), id(d,D);

FF>     auto ret = indexed(A, sy_anti(0,1,2,3), ia,ib,ic,id) *
FF> lorentz_g(ic.toggle_variance(), id.toggle_variance());

FF>     cout << simplify_indexed(ret) << endl;

FF>     return 0;

FF> }

FF> Best regards!

FF> Feng

```