+ // 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)));
+ }
+