'Returns an identifier that uniquely identifies the physical
type of this unit.  It is comprised of the bases and powers of
this unit, without the scale.  Since it is hashable, it is
useful as a dictionary key.'

def _get_physical_type_id(self):

    unit = self.decompose()
    r = zip([x.name for x in unit.bases], unit.powers)
    r = tuple(r)
    return r
