From: Christian Bauer Date: Tue, 5 Nov 2002 17:43:35 +0000 (+0000) Subject: epsilon tensor contractions didn't work with variance-less indices X-Git-Tag: release_1-0-13~29 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=9ee91eb062955a6c0ad22a34628c934ba0c888dd epsilon tensor contractions didn't work with variance-less indices --- diff --git a/ginac/tensor.cpp b/ginac/tensor.cpp index b7ae2998..af085ece 100644 --- a/ginac/tensor.cpp +++ b/ginac/tensor.cpp @@ -493,13 +493,16 @@ bool tensepsilon::contract_with(exvector::iterator self, exvector::iterator othe // Contraction of two epsilon tensors is a determinant ex dim = ex_to(self->op(1)).get_dim(); + bool variance = is_a(self->op(1)); matrix M(num, num); for (int i=0; iop(i+1), other->op(j+1), pos_sig); - else + else if (variance) M(i, j) = metric_tensor(self->op(i+1), other->op(j+1)); + else + M(i, j) = delta_tensor(self->op(i+1), other->op(j+1)); } } int sign = minkowski ? -1 : 1;