Check whether two Hilbert spaces are disjoint (do not have any
        common local factors). Note that `FullSpace` is *not* disjoint with any
        other Hilbert space, while `TrivialSpace` *is* disjoint with any other
        HilbertSpace (even itself)

def isdisjoint(self, other):
        """Check whether two Hilbert spaces are disjoint (do not have any
        common local factors). Note that `FullSpace` is *not* disjoint with any
        other Hilbert space, while `TrivialSpace` *is* disjoint with any other
        HilbertSpace (even itself)
        """
        if other == FullSpace:
            return False
        else:
            for ls in self.local_factors:
                if isinstance(ls.label, StrLabel):
                    return False
            for ls in other.local_factors:
                if isinstance(ls.label, StrLabel):
                    return False
            return set(self.local_factors).isdisjoint(set(other.local_factors))