diff --git a/gem/gem.py b/gem/gem.py index 974556754..f3cf45900 100644 --- a/gem/gem.py +++ b/gem/gem.py @@ -985,10 +985,10 @@ def __new__(cls, i, j, dtype=None): if isinstance(i, Integral) and isinstance(j, Integral): return one if i == j else Zero() - if isinstance(i, Integral): + if isinstance(i, Integral) and not isinstance(j, Index): return Indexed(Literal(numpy.eye(j.extent)[i]), (j,)) - if isinstance(j, Integral): + if isinstance(j, Integral) and not isinstance(i, Index): return Indexed(Literal(numpy.eye(i.extent)[j]), (i,)) self = super(Delta, cls).__new__(cls)