From: Christian Bauer Date: Sat, 25 Jan 2003 00:29:20 +0000 (+0000) Subject: delta tensor makes itself square X-Git-Tag: release_1-1-0~37 X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=commitdiff_plain;h=4e4f76e1b800566ec87058f466a6bbcaa2cfdc25;p=ginac.git delta tensor makes itself square --- diff --git a/ginac/tensor.cpp b/ginac/tensor.cpp index f158ae65..1574bb66 100644 --- a/ginac/tensor.cpp +++ b/ginac/tensor.cpp @@ -180,6 +180,13 @@ ex tensdelta::eval_indexed(const basic & i) const const idx & i1 = ex_to(i.op(1)); const idx & i2 = ex_to(i.op(2)); + // The dimension of the indices must be equal, otherwise we use the minimal + // dimension + if (!i1.get_dim().is_equal(i2.get_dim())) { + ex min_dim = i1.minimal_dim(i2); + return i.subs(lst(i1 == i1.replace_dim(min_dim), i2 == i2.replace_dim(min_dim))); + } + // Trace of delta tensor is the (effective) dimension of the space if (is_dummy_pair(i1, i2)) { try {