From: Christian Bauer Date: Sat, 25 Jan 2003 00:33:55 +0000 (+0000) Subject: synced to 1.0 X-Git-Tag: release_1-0-13~1 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=166001a94d339fd82e4fa02a2ba6775efe76418b;ds=sidebyside synced to 1.0 --- diff --git a/ginac/tensor.cpp b/ginac/tensor.cpp index f04a75c9..f786c4a1 100644 --- a/ginac/tensor.cpp +++ b/ginac/tensor.cpp @@ -179,6 +179,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 {