':param other:
:return:
0  commute
1  anticommute
None  neither commute nor anticommute'

def commutes_with(self, other):

    if (not isinstance(other, TensExpr)):
        return 0
    elif isinstance(other, Tensor):
        return self.component.commutes_with(other.component)
    return NotImplementedError
